提交 ef88ad23 编写于 作者: J Junio C Hamano

rebase --skip: correctly wrap-up when skipping the last patch

When "rebase --skip" is used to skip the last patch in the series, the
code to wrap up the rewrite by copying the notes from old to new commits
and also by running the post-rewrite hook was bypassed.
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 77e57265
...@@ -554,13 +554,6 @@ then ...@@ -554,13 +554,6 @@ then
resume= resume=
fi fi
if test "$this" -gt "$last"
then
say Nothing to do.
rm -fr "$dotest"
exit
fi
while test "$this" -le "$last" while test "$this" -le "$last"
do do
msgnum=`printf "%0${prec}d" $this` msgnum=`printf "%0${prec}d" $this`
......
...@@ -10,7 +10,11 @@ test_expect_success 'setup' ' ...@@ -10,7 +10,11 @@ test_expect_success 'setup' '
test_commit A foo A && test_commit A foo A &&
test_commit B foo B && test_commit B foo B &&
test_commit C foo C && test_commit C foo C &&
test_commit D foo D test_commit D foo D &&
git checkout A^0 &&
test_commit E bar E &&
test_commit F foo F &&
git checkout master
' '
mkdir .git/hooks mkdir .git/hooks
...@@ -79,6 +83,18 @@ EOF ...@@ -79,6 +83,18 @@ EOF
verify_hook_input verify_hook_input
' '
test_expect_success 'git rebase --skip the last one' '
git reset --hard F &&
clear_hook_input &&
test_must_fail git rebase --onto D A &&
git rebase --skip &&
echo rebase >expected.args &&
cat >expected.data <<EOF &&
$(git rev-parse E) $(git rev-parse HEAD)
EOF
verify_hook_input
'
test_expect_success 'git rebase -m' ' test_expect_success 'git rebase -m' '
git reset --hard D && git reset --hard D &&
clear_hook_input && clear_hook_input &&
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册