Re: [PATCH] rebase--interactive: don't enforce valid branch
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 15, 2010, 06:14 UTC
- Message-ID
- <7vd3z6f6wt.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <7vvdcygmz8.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 13 quoted lines
> Dave Olszewski <cxreg@pobox.com> writes: > >>>> +test_expect_success 'rebase while detaching HEAD' ' >>>> + grandparent=$(git rev-parse HEAD~2) && >>>> + test_tick && >>>> + FAKE_LINES="2 1" git rebase -i HEAD~2 HEAD^0 && >>> >>> What's the point of saying this? You could instead say: >>> >>> git rebase -i HEAD~2 >>> >>> no? >> ...
Ahh, Ok, the point is that when we start this sequence we are on a branch, and then you want to end up on a detached HEAD that points at the result of the branch.
I'll queue it in 'pu', but with a little tweak to the test to make it clear what is going on, perhaps like this.
test_expect_success 'rebase while detaching HEAD' '
git symbolic-ref HEAD &&
grandparent=$(git rev-parse HEAD~2) &&
test_tick &&
FAKE_LINES="2 1" git rebase -i HEAD~2 HEAD^0 &&
test $grandparent = $(git rev-parse HEAD~2) &&
test_must_fail git symbolic-ref HEAD
'We may need to document this behaviour, by the way, if we make it official that the extra "branch to be rewritten" parameter can be a non-branch. Two points are that you can give arbitrary commit, and that you will end up with a detached HEAD that points at the result if you did so.
Also I did't followed the code, but does it behave sanely when you say "rebase --abort"?