Re: [PATCH 4/6] remote prune: warn dangling symrefs
- From
Jeff King <peff@peff.net>
- Date
- Feb 9, 2009, 19:15 UTC
- Message-ID
- <20090209191526.GC27037@coredump.intra.peff.net>
- In-Reply-To
- <1234170565-6740-5-git-send-email-gitster@pobox.com>
On Mon, Feb 09, 2009 at 01:09:23AM -0800, Junio C Hamano wrote:
Show 6 quoted lines
> If you prune from the remote "frotz" that deleted the ref your tracking > branch remotes/frotz/HEAD points at, the symbolic ref will become > dangling. We used to detect this as an error condition and issued a > message every time refs are enumerated. > > This stops the error message, but moves the warning to "remote prune".
Very nice. As a bonus, this fixes certain (admittedly unlikely) renames, too (which don't need to pass the BROKEN flag, since ref_rename uses get_loose_refs directly):
# without this patch $ git symbolic-ref refs/heads/foo/bar refs/heads/nonexistant $ git branch -m master foo error: refs/heads/foo/bar points nowhere! error: there are still refs under 'refs/heads/foo' error: unable to lock refs/heads/foo for update fatal: Branch rename failed
# with this patch $ git branch -m master foo error: 'refs/heads/foo/bar' exists; cannot create 'refs/heads/foo' fatal: Branch rename failed
-Peff