diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-11-12 13:11:46 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-11-12 16:23:09 -0800 |
commit | 3f735b66543a2221c218fc522272d62a333ebfec (patch) | |
tree | 44e269a15943f3fd29db72fe9bddfde1dd05d268 | |
parent | 6fd2f5e60d4d574ff9e5dd8ce1e229328c785d69 (diff) | |
download | git-3f735b66543a2221c218fc522272d62a333ebfec.tar.gz git-3f735b66543a2221c218fc522272d62a333ebfec.tar.xz |
rebase: fix "rebase --continue" breakage
The --skip case was handled properly when rebasing without --merge,
but the --continue case was not.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-rebase.sh | 6 | ||||
-rwxr-xr-x | t/t3403-rebase-skip.sh | 17 |
2 files changed, 22 insertions, 1 deletions
diff --git a/git-rebase.sh b/git-rebase.sh index c02be31f3..c059749bb 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -170,7 +170,11 @@ do finish_rb_merge exit fi - git am --resolved --3way --resolvemsg="$RESOLVEMSG" + head_name=$(cat .dotest/head-name) && + onto=$(cat .dotest/onto) && + orig_head=$(cat .dotest/orig-head) && + git am --resolved --3way --resolvemsg="$RESOLVEMSG" && + move_to_original_branch exit ;; --skip) diff --git a/t/t3403-rebase-skip.sh b/t/t3403-rebase-skip.sh index eab053c3e..2ee5a00ea 100755 --- a/t/t3403-rebase-skip.sh +++ b/t/t3403-rebase-skip.sh @@ -39,6 +39,19 @@ test_expect_success 'rebase --skip with am -3' ' git reset --hard HEAD && git rebase --skip ' + +test_expect_success 'rebase moves back to skip-reference' ' + test refs/heads/skip-reference = $(git symbolic-ref HEAD) && + git branch post-rebase && + git reset --hard pre-rebase && + ! git rebase master && + echo "hello" > hello && + git add hello && + git rebase --continue && + test refs/heads/skip-reference = $(git symbolic-ref HEAD) && + git reset --hard post-rebase +' + test_expect_success 'checkout skip-merge' 'git checkout -f skip-merge' test_expect_failure 'rebase with --merge' 'git rebase --merge master' @@ -51,6 +64,10 @@ test_expect_success 'rebase --skip with --merge' ' test_expect_success 'merge and reference trees equal' \ 'test -z "`git diff-tree skip-merge skip-reference`"' +test_expect_success 'moved back to branch correctly' ' + test refs/heads/skip-merge = $(git symbolic-ref HEAD) +' + test_debug 'gitk --all & sleep 1' test_done |