t1400: add some more tests of "update-ref --stdin"'s verify command
[gitweb.git] / t / t7610-mergetool.sh
index 2834ded84d83d308a65e5e6a51d2e4703b213a5d..7eeb207b32b48041037488f42e645b8b12742690 100755 (executable)
@@ -14,7 +14,7 @@ Testing basic merge tool invocation'
 # running mergetool
 
 test_expect_success 'setup' '
-       git config rerere.enabled true &&
+       test_config rerere.enabled true &&
        echo master >file1 &&
        echo master spaced >"spaced name" &&
        echo master file11 >file11 &&
@@ -129,7 +129,7 @@ test_expect_success 'mergetool crlf' '
        git submodule update -N &&
        test "$(cat submod/bar)" = "master submodule" &&
        git commit -m "branch1 resolved with mergetool - autocrlf" &&
-       git config core.autocrlf false &&
+       test_config core.autocrlf false &&
        git reset --hard
 '
 
@@ -176,7 +176,7 @@ test_expect_success 'mergetool skips autoresolved' '
 test_expect_success 'mergetool merges all from subdir' '
        (
                cd subdir &&
-               git config rerere.enabled false &&
+               test_config rerere.enabled false &&
                test_must_fail git merge master &&
                ( yes "r" | git mergetool ../submod ) &&
                ( yes "d" "d" | git mergetool --no-prompt ) &&
@@ -190,7 +190,7 @@ test_expect_success 'mergetool merges all from subdir' '
 '
 
 test_expect_success 'mergetool skips resolved paths when rerere is active' '
-       git config rerere.enabled true &&
+       test_config rerere.enabled true &&
        rm -rf .git/rr-cache &&
        git checkout -b test5 branch1 &&
        git submodule update -N &&
@@ -204,7 +204,7 @@ test_expect_success 'mergetool skips resolved paths when rerere is active' '
 '
 
 test_expect_success 'conflicted stash sets up rerere'  '
-       git config rerere.enabled true &&
+       test_config rerere.enabled true &&
        git checkout stash1 &&
        echo "Conflicting stash content" >file11 &&
        git stash &&
@@ -232,7 +232,7 @@ test_expect_success 'conflicted stash sets up rerere'  '
 
 test_expect_success 'mergetool takes partial path' '
        git reset --hard &&
-       git config rerere.enabled false &&
+       test_config rerere.enabled false &&
        git checkout -b test12 branch1 &&
        git submodule update -N &&
        test_must_fail git merge master &&
@@ -514,4 +514,27 @@ test_expect_success 'custom commands override built-ins' '
        git reset --hard master >/dev/null 2>&1
 '
 
+test_expect_success 'filenames seen by tools start with ./' '
+       git checkout -b test15 branch1 &&
+       test_config mergetool.writeToTemp false &&
+       test_config mergetool.myecho.cmd "echo \"\$LOCAL\"" &&
+       test_config mergetool.myecho.trustExitCode true &&
+       test_must_fail git merge master &&
+       git mergetool --no-prompt --tool myecho -- both >actual &&
+       grep ^\./both_LOCAL_ actual >/dev/null &&
+       git reset --hard master >/dev/null 2>&1
+'
+
+test_expect_success 'temporary filenames are used with mergetool.writeToTemp' '
+       git checkout -b test16 branch1 &&
+       test_config mergetool.writeToTemp true &&
+       test_config mergetool.myecho.cmd "echo \"\$LOCAL\"" &&
+       test_config mergetool.myecho.trustExitCode true &&
+       test_must_fail git merge master &&
+       git mergetool --no-prompt --tool myecho -- both >actual &&
+       test_must_fail grep ^\./both_LOCAL_ actual >/dev/null &&
+       grep /both_LOCAL_ actual >/dev/null &&
+       git reset --hard master >/dev/null 2>&1
+'
+
 test_done