git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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"?

Previous: Dave OlszewskiNext: Dave Olszewski
Message 6 of 8 in “rebase--interactive: don't enforce valid branch”
  1. rebase--interactive: don't enforce valid branchDave Olszewski, Mar 15, 2010
  2. Junio C HamanoMar 15, 2010
  3. Dave OlszewskiMar 15, 2010
  4. Junio C HamanoMar 15, 2010
  5. Dave OlszewskiMar 15, 2010
  6. Junio C HamanoMar 15, 2010
  7. Dave OlszewskiMar 15, 2010
  8. Junio C HamanoMar 15, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.