Subject: Re: git rebase --abort of an --onto run does not checkout the originating branch

From: Joshua Jensen <[email-masked]>
Date: Wed, 27 Oct 2010 21:04:44 -0600

----- Original Message -----
From: Junio C Hamano
Date: 10/22/2010 1:15 PM
> Joshua Jensen<[email-masked]>  writes:
>
>> git rebase --onto mybranch START_SHA END_SHA
>>
>> In the middle, I decide to run 'git rebase --abort'.
>>
>> Just as the documentation states, it performs a checkout of END_SHA as
>> the restored branch.  END_SHA has nothing to do with the originating
>> branch, and confusion ensues.
>>
>> Is there a reason why 'git rebase' should not store off the
>> originating branch and use that for an --abort, instead of<branch>
>> which is END_SHA?
> When END_SHA is an actual branch name (which by the way is almost always
> how I use --onto in my attempts to transplant my topics), and when I found
> out that the conflicts I see while rebasing the topic to a different
> starting point (i.e. --onto) is too much to handle for too little gain, I
> would not appreciate if --abort took me to the --onto branch, which is
> totally uninteresting for the purpose of what I was attempting to do,
> namely, to deal with the topic.
>
> If the command took me back to the tip of the topic that I failed to
> rebase, I can continue attempting to whip it in shape using different
> strategies from there (e.g. merging an older part of upstream into the
> topic before merging the topic back to the upstream).
As if turns out, I wasn't expecting --abort to take me to the --onto 
branch but rather, the originating branch.  Let's assume I am working in 
a branch called JBranch.  I run:

         git rebase --onto master START_SHA END_SHA

I decide to abort the rebase.  I expect to be returned to the place I 
started from: JBranch.  After all, I am aborting the rebase.  I don't 
want to proceed.  I decided it was the wrong thing to do, so just put me 
back where I was.

Anyway, that was my thought pattern.  Since that isn't how it works, 
I'll just have to remember where I was when I started the rebase, 
perform the abort, and checkout the originating branch.

Thank you for your time.

Josh