diff options
author | Ramkumar Ramachandra <artagnon@gmail.com> | 2013-06-13 21:36:12 +0530 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-06-13 15:30:02 -0700 |
commit | af2f0ebcbdb164043d6ad72c81c6ce5cdadf63b5 (patch) | |
tree | 62dbd12b9cee7fb6ac4d4eee42b2d31ee65db8f7 | |
parent | rebase: guard against missing files in read_basic_state() (diff) | |
download | tgif-af2f0ebcbdb164043d6ad72c81c6ce5cdadf63b5.tar.xz |
rebase: finish_rebase() in fast-forward rebase
In the following case
$ git rebase master
Fast-forwarded autostash-fix to master.
The autostash is not applied automatically, because this codepath
forgets to call finish_rebase(). Fix this. Also add a test to guard
against regressions.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-rebase.sh | 1 | ||||
-rwxr-xr-x | t/t3420-rebase-autostash.sh | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/git-rebase.sh b/git-rebase.sh index 2122fe030e..154d4be0a4 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -579,6 +579,7 @@ if test "$mb" = "$orig_head" then say "$(eval_gettext "Fast-forwarded \$branch_name to \$onto_name.")" move_to_original_branch + finish_rebase exit 0 fi diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh index 479cbb215f..1bde007160 100755 --- a/t/t3420-rebase-autostash.sh +++ b/t/t3420-rebase-autostash.sh @@ -141,6 +141,17 @@ testrebase() { ' } +test_expect_success "rebase: fast-forward rebase" ' + test_config rebase.autostash true && + git reset --hard && + git checkout -b behind-feature-branch feature-branch~1 && + test_when_finished git branch -D behind-feature-branch && + echo dirty >>file1 && + git rebase feature-branch && + grep dirty file1 && + git checkout feature-branch +' + testrebase "" .git/rebase-apply testrebase " --merge" .git/rebase-merge testrebase " --interactive" .git/rebase-merge |