Merge branch 'ar/mingw-run-external-with-non-ascii-path'
[gitweb.git] / t / t3409-rebase-preserve-merges.sh
index 2e0c36415fe525663fdcc64675fd081c642732ed..3b340f1ece3601b0729d09ea1f976db5b3a8ef65 100755 (executable)
@@ -8,6 +8,11 @@ Run "git rebase -p" and check that merges are properly carried along
 '
 . ./test-lib.sh
 
+if ! test_have_prereq REBASE_P; then
+       skip_all='skipping git rebase -p tests, as asked for'
+       test_done
+fi
+
 GIT_AUTHOR_EMAIL=bogus_email_address
 export GIT_AUTHOR_EMAIL
 
@@ -28,6 +33,8 @@ export GIT_AUTHOR_EMAIL
 #     \--A3    <-- topic2
 #      \
 #       B2     <-- origin/topic
+#
+# Clone 4 (same as Clone 3)
 
 test_expect_success 'setup for merge-preserving rebase' \
        'echo First > A &&
@@ -64,6 +71,16 @@ test_expect_success 'setup for merge-preserving rebase' \
                git merge --no-ff topic2
        ) &&
 
+       git clone ./. clone4 &&
+       (
+               cd clone4 &&
+               git checkout -b topic2 origin/topic &&
+               echo Sixth > A &&
+               git commit -a -m "Modify A3" &&
+               git checkout -b topic origin/topic &&
+               git merge --no-ff topic2
+       ) &&
+
        git checkout topic &&
        echo Fourth >> B &&
        git commit -a -m "Modify B2"
@@ -96,4 +113,15 @@ test_expect_success 'rebase -p preserves no-ff merges' '
        )
 '
 
+test_expect_success 'rebase -p ignores merge.log config' '
+       (
+       cd clone4 &&
+       git fetch &&
+       git -c merge.log=1 rebase -p origin/topic &&
+       echo >expected &&
+       git log --format="%b" -1 >current &&
+       test_cmp expected current
+       )
+'
+
 test_done