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>
This commit is contained in:
Johannes Schindelin 2007-11-12 13:11:46 +00:00 committed by Junio C Hamano
parent 6fd2f5e60d
commit 3f735b6654
2 changed files with 22 additions and 1 deletions

View File

@ -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)

View File

@ -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