Re: [PATCH 0/2] git rebase: Make sure upstream branch is left alone.
- From
Ben <ben@wijen.net>
- Date
- Aug 19, 2019, 15:33 UTC
- Message-ID
- <81b244b9-8b26-e638-56ae-827bbc522dc2@wijen.net>
- In-Reply-To
- <0bef598c-6c89-c699-5290-ee2003db5979@gmail.com>
Hi Phillip,
The expected behavior: (as per v2.21.0:/git-legacy-rebase.sh:679)
AUTOSTASH=$(git stash create autostash)
git reset --hard
git checkout master
git rebase upstream
git stash apply $AUTOSTASH The actual behavior:
AUTOSTASH=$(git stash create autostash)
git reset --hard master
git checkout master
git rebase upstream
git stash apply $AUTOSTASH So, the problem with the actual behavior is the move of the currently active branch with 'git reset --hard master'
Best regards,
Ben...
On 19-08-2019 11:26, Phillip Wood wrote:
Show 23 quoted lines
> Hi Ben > > On 18/08/2019 10:53, Ben Wijen wrote: >> I found an issue with git rebase --autostash <upstream> <branch> with an dirty worktree/index. >> It seems the currently active branch is moved, which is not correct. > > I'm not sure I understand what you mean by "the currently active branch is moved". 'git rebase --autostash <upstream> <branch>' should checkout <branch> (presumably stashing any unstaged and uncommitted changes first) and then do rebase <upstream> - what's it doing instead? > > Best Wishes > > Phillip > >> The following patches contain both a test and a fix. >> >> Ben Wijen (2): >> t3420: never change upstream branch >> rebase.c: make sure current branch isn't moved when autostashing >> >> builtin/rebase.c | 18 ++++++------------ >> t/t3420-rebase-autostash.sh | 13 +++++++++---- >> 2 files changed, 15 insertions(+), 16 deletions(-) >> >