1. Stefan Saasen
  2. git


Junio C Hamano  committed ef88ad2

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: Junio C Hamano <gitster@pobox.com>

  • Participants
  • Parent commits 77e5726
  • Branches master

Comments (0)

Files changed (2)

File git-am.sh

View file
  • Ignore whitespace
-if test "$this" -gt "$last"
-	say Nothing to do.
-	rm -fr "$dotest"
-	exit
 while test "$this" -le "$last"
 	msgnum=`printf "%0${prec}d" $this`

File t/t5407-post-rewrite-hook.sh

View file
  • Ignore whitespace
 	test_commit A foo A &&
 	test_commit B foo B &&
 	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
+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)
+	verify_hook_input
 test_expect_success 'git rebase -m' '
 	git reset --hard D &&
 	clear_hook_input &&