aboutsummaryrefslogtreecommitdiff
path: root/t/t3404-rebase-interactive.sh
diff options
context:
space:
mode:
authorThomas Rast <trast@student.ethz.ch>2008-08-13 23:41:24 +0200
committerJunio C Hamano <gitster@pobox.com>2008-08-13 15:17:10 -0700
commita96dc01e21603849cb454a311f18780c2e839f29 (patch)
tree5e77504859088bb6a608e96eb4f250ce1a639905 /t/t3404-rebase-interactive.sh
parent71d9451e061841ed5acb576652e09df32c700b86 (diff)
downloadgit-a96dc01e21603849cb454a311f18780c2e839f29.tar.gz
git-a96dc01e21603849cb454a311f18780c2e839f29.tar.xz
rebase -i -p: fix parent rewriting
The existing parent rewriting did not handle the case where a previous commit was amended (via edit or squash). Fix by always putting the new sha1 of the last commit into the $REWRITTEN map. Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Diffstat (limited to 't/t3404-rebase-interactive.sh')
-rwxr-xr-xt/t3404-rebase-interactive.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 4d62b9af8..5aa487ac0 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -250,6 +250,18 @@ test_expect_success 'preserve merges with -p' '
test $(git show HEAD:unrelated-file) = 1
'
+test_expect_success 'edit ancestor with -p' '
+ FAKE_LINES="1 edit 2 3 4" git rebase -i -p HEAD~3 &&
+ echo 2 > unrelated-file &&
+ test_tick &&
+ git commit -m L2-modified --amend unrelated-file &&
+ git rebase --continue &&
+ git update-index --refresh &&
+ git diff-files --quiet &&
+ git diff-index --quiet --cached HEAD -- &&
+ test $(git show HEAD:unrelated-file) = 2
+'
+
test_expect_success '--continue tries to commit' '
test_tick &&
test_must_fail git rebase -i --onto new-branch1 HEAD^ &&