Re: [PATCH] Remove branch by putting a null sha1 into the ref file.
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Sep 18, 2006, 16:31 UTC
- Message-ID
- <Pine.LNX.4.64.0609180926590.4388@g5.osdl.org>
- In-Reply-To
- <20060918065429.6f4de06e.chriscool@tuxfamily.org>
On Mon, 18 Sep 2006, Christian Couder wrote:
> > With the new packed ref file format from Linus, this should be > the new way to remove a branch.
Well, it's not really sufficient.
Somebody should add this test-case
git branch test git branch -d test git branch test/first
which should work.
It's entirely possible that the proper way to do branch deletion with packed branches is to simply re-pack without the old branch, rather than the negative branch model. I couldn't really decide.
However: this part is definitely correct, considering that we allow the null sha1 in other places.
> "refs.c" is fixed so that a null sha1 for a deleted branch does > not result in "refs/head/deleted does not point to a valid > commit object!" messages.
And this last part is conceptually ok, but I think the implementaion is wrong:
> "t/t3200-branch.sh" is fixed so that it uses git-show-ref > instead of checking that the ref does not exist when a branch > is deleted.
I think you should change the
! git-show-ref --verify --quiet -- "refs/heads/d/e/f" &&
into
git-show-ref --verify --quiet -- "refs/heads/d/e/f" ||
instead, no?
Linus