[PATCH] New tests to check rebase with preserve merges
Signed-off-by: Jörg Sommer <joerg@alea.gnuu.de>
---
t/t3404-rebase-interactive.sh | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 7d1e469..50974f0 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -212,6 +212,33 @@ test_expect_success 'preserve merges with -p' '
test $(git show HEAD~2:file1) = B
'
+test_expect_success 'preserve merges with -p (case 2)' '
+ test_tick &&
+ EXPECT_COUNT=3 FAKE_LINES="1 3 2" git rebase -v -i -p branch1 &&
+ test $(git rev-parse HEAD^2) = $(git rev-parse to-be-preserved) &&
+ test $(git rev-parse HEAD~3) = $(git rev-parse branch1) &&
+ test $(git show HEAD~2:file1) = B &&
+ test $(git show HEAD~1:file1) = C
+'
+
+test_expect_success 'preserve merges with -p (case 3)' '
+ test_tick &&
+ EXPECT_COUNT=3 FAKE_LINES="3 1 2" git rebase -i -p branch1 &&
+ test $(git rev-parse HEAD~2^2) = $(git rev-parse to-be-preserved) &&
+ test $(git rev-parse HEAD~3) = $(git rev-parse branch1) &&
+ test $(git show HEAD~1:file1) = B &&
+ test $(git show HEAD:file1) = C
+'
+
+test_expect_success 'preserve merges really uses fast forward' '
+ head=$(git rev-parse HEAD) &&
+ test_tick &&
+ EXPECT_COUNT=3 git rebase -v -i -p branch1 2>pm-ff-err &&
+ cat pm-ff-err &&
+ test $(grep "^Fast forward" pm-ff-err | wc -l) -eq 3 &&
+ test $(git rev-parse HEAD) = $head
+'
+
test_expect_success '--continue tries to commit' '
test_tick &&
! git rebase -i --onto new-branch1 HEAD^ &&
--
1.5.4.4