summaryrefslogtreecommitdiff
path: root/t/t5407-post-rewrite-hook.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-12-23 00:50:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-12-23 00:50:28 (GMT)
commitef88ad238779c4eadba9f179146fe213f047b89f (patch)
tree2830c1801a97e9e2c3e408ecaf7d89459c14d422 /t/t5407-post-rewrite-hook.sh
parent77e572653b5089c9e3639fe4088f59e4cfef4eea (diff)
downloadgit-ef88ad238779c4eadba9f179146fe213f047b89f.zip
git-ef88ad238779c4eadba9f179146fe213f047b89f.tar.gz
git-ef88ad238779c4eadba9f179146fe213f047b89f.tar.bz2
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>
Diffstat (limited to 't/t5407-post-rewrite-hook.sh')
-rwxr-xr-xt/t5407-post-rewrite-hook.sh18
1 files changed, 17 insertions, 1 deletions
diff --git a/t/t5407-post-rewrite-hook.sh b/t/t5407-post-rewrite-hook.sh
index 552da65..baa670c 100755
--- a/t/t5407-post-rewrite-hook.sh
+++ b/t/t5407-post-rewrite-hook.sh
@@ -10,7 +10,11 @@ test_expect_success 'setup' '
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
@@ -79,6 +83,18 @@ EOF
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' '
git reset --hard D &&
clear_hook_input &&