Re: [PATCH] Remove branch by putting a null sha1 into the ref file.
- From
Christian Couder <chriscool@tuxfamily.org>
- Date
- Sep 23, 2006, 11:22 UTC
- Message-ID
- <200609231322.30214.chriscool@tuxfamily.org>
- In-Reply-To
- <7vu02zuhya.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 25 quoted lines
> Christian Couder <chriscool@tuxfamily.org> writes: > > If we move ".git/refs/heads/frotz/nitfol" > > to ".git/deleted-refs/heads/frotz/nitfol" when we remove this ref, we > > only need to try to rmdir all subdirectories under > > ".git/refs/heads/frotz/" and then ".git/refs/heads/frotz/" to see if we > > can > > create ".git/refs/heads/frotz", and if we can, we won't > > resurect "frotz/nitfol" because ".git/deleted-refs/heads/frotz/nitfol" > > still exists. > > I am not sure if that would be workable. I suspect that you > would need to do quite an involved sequence in "git branch" to > make this sequence to work with .git/deleted-refs/ scheme: > > git branch frotz/nitfol > git pack-refs --prune > git branch -d frotz/nitfol > git branch frotz > git pack-refs > git branch -d frotz > > After deleting frotz/nitfol you would create frotz/nitfol in > deleted hierarchy. Then when you delete frotz you would need to > create frotz in deleted hierarchy, but you cannot, without > losing frotz/nitfol.
You are right, so what about moving ".git/refs/heads/frotz" to ".git/deleted-refs/heads/frotz.ref" or ".git/deleted-refs/heads/frotz~ref" (because "~" is forbidden in ref names).
Christian.