t3034: test option to disable renames
authorFelipe Gonçalves Assis <felipeg.assis@gmail.com>
Wed, 24 Feb 2016 01:41:30 +0000 (22:41 -0300)
committerJunio C Hamano <gitster@pobox.com>
Wed, 24 Feb 2016 22:48:34 +0000 (14:48 -0800)
Signed-off-by: Felipe Gonçalves Assis <felipegassis@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3034-merge-recursive-rename-options.sh
index 51c2f87202cc1ae5636a3398dd099ef70fda040c..247991034dabc39c98067cc7ec2b71581bc67752 100755 (executable)
@@ -83,6 +83,14 @@ check_exact_renames () {
        rename_detected 3
 }
 
        rename_detected 3
 }
 
+check_no_renames () {
+       check_common &&
+       rename_undetected 0 &&
+       rename_undetected 1 &&
+       rename_undetected 2 &&
+       rename_undetected 3
+}
+
 test_expect_success 'setup repo' '
        cat <<-\EOF >3-old &&
        33a
 test_expect_success 'setup repo' '
        cat <<-\EOF >3-old &&
        33a
@@ -195,6 +203,12 @@ test_expect_success 'rename threshold is truncated' '
        check_exact_renames
 '
 
        check_exact_renames
 '
 
+test_expect_success 'disabled rename detection' '
+       git read-tree --reset -u HEAD &&
+       git merge-recursive --no-renames $tail &&
+       check_no_renames
+'
+
 test_expect_success 'last wins in --find-renames=<m> --find-renames=<n>' '
        git read-tree --reset -u HEAD &&
        test_must_fail git merge-recursive \
 test_expect_success 'last wins in --find-renames=<m> --find-renames=<n>' '
        git read-tree --reset -u HEAD &&
        test_must_fail git merge-recursive \
@@ -209,6 +223,18 @@ test_expect_success '--find-renames resets threshold' '
        $check_50
 '
 
        $check_50
 '
 
+test_expect_success 'last wins in --no-renames --find-renames' '
+       git read-tree --reset -u HEAD &&
+       test_must_fail git merge-recursive --no-renames --find-renames $tail &&
+       $check_50
+'
+
+test_expect_success 'last wins in --find-renames --no-renames' '
+       git read-tree --reset -u HEAD &&
+       git merge-recursive --find-renames --no-renames $tail &&
+       check_no_renames
+'
+
 test_expect_success 'assumption for further tests: trivial merge succeeds' '
        git read-tree --reset -u HEAD &&
        git merge-recursive HEAD -- HEAD HEAD &&
 test_expect_success 'assumption for further tests: trivial merge succeeds' '
        git read-tree --reset -u HEAD &&
        git merge-recursive HEAD -- HEAD HEAD &&
@@ -218,6 +244,8 @@ test_expect_success 'assumption for further tests: trivial merge succeeds' '
        git merge-recursive --find-renames=$th2 HEAD -- HEAD HEAD &&
        git diff --quiet --cached &&
        git merge-recursive --find-renames=100% HEAD -- HEAD HEAD &&
        git merge-recursive --find-renames=$th2 HEAD -- HEAD HEAD &&
        git diff --quiet --cached &&
        git merge-recursive --find-renames=100% HEAD -- HEAD HEAD &&
+       git diff --quiet --cached &&
+       git merge-recursive --no-renames HEAD -- HEAD HEAD &&
        git diff --quiet --cached
 '
 
        git diff --quiet --cached
 '