summaryrefslogtreecommitdiff
path: root/t/t5407-post-rewrite-hook.sh
diff options
context:
space:
mode:
authorThomas Rast <trast@student.ethz.ch>2010-03-28 19:36:00 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-03-29 04:34:40 (GMT)
commit0acb62f202617cc58b6b4039dc9c7ad955ef0c88 (patch)
tree001e9c710a3c7a4d340f45024665b962b8696814 /t/t5407-post-rewrite-hook.sh
parentfaf752693abd0a891a9a47a2d398353cc59ee93a (diff)
downloadgit-0acb62f202617cc58b6b4039dc9c7ad955ef0c88.zip
git-0acb62f202617cc58b6b4039dc9c7ad955ef0c88.tar.gz
git-0acb62f202617cc58b6b4039dc9c7ad955ef0c88.tar.bz2
rebase -i: make post-rewrite work for 'edit'
The post-rewrite support, in the form of the call to 'record_in_rewritten', was hidden in the arm where we have to record a new commit for the user. This meant that it was never invoked in the case where the user has already amended the commit by herself. [The test is designed to exercise both arms of the 'if' in question.] Furthermore, recording the stopped-sha (the SHA1 of the commit before the editing) suffered from a cut&paste error from die_with_patch and used the wrong variable, hence it never recorded anything. Noticed by Junio. Signed-off-by: Thomas Rast <trast@student.ethz.ch> 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.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/t/t5407-post-rewrite-hook.sh b/t/t5407-post-rewrite-hook.sh
index f0f91f1..552da65 100755
--- a/t/t5407-post-rewrite-hook.sh
+++ b/t/t5407-post-rewrite-hook.sh
@@ -180,4 +180,20 @@ EOF
verify_hook_input
'
+test_expect_success 'git rebase -i (double edit)' '
+ git reset --hard D &&
+ clear_hook_input &&
+ FAKE_LINES="edit 1 edit 2" git rebase -i B &&
+ git rebase --continue &&
+ echo something > foo &&
+ git add foo &&
+ git rebase --continue &&
+ echo rebase >expected.args &&
+ cat >expected.data <<EOF &&
+$(git rev-parse C) $(git rev-parse HEAD^)
+$(git rev-parse D) $(git rev-parse HEAD)
+EOF
+ verify_hook_input
+'
+
test_done