diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-10-01 12:58:57 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-10-01 12:58:57 -0700 |
commit | 5ec11ab39d11aecd731044955a7a4f7e925cdba6 (patch) | |
tree | 87432ee7fd9345d922f2fa7d182246125cc3b61d /t | |
parent | Merge branch 'os/commit-submodule-ignore' (diff) | |
parent | mergetool--lib: Allow custom commands to override built-ins (diff) | |
download | tgif-5ec11ab39d11aecd731044955a7a4f7e925cdba6.tar.xz |
Merge branch 'da/mergetool-custom'
The actual external command to run for mergetool backend can be
specified with difftool/mergetool.$name.cmd configuration
variables, but this mechanism was ignored for the backends we
natively support.
* da/mergetool-custom:
mergetool--lib: Allow custom commands to override built-ins
Diffstat (limited to 't')
-rwxr-xr-x | t/t7610-mergetool.sh | 13 | ||||
-rwxr-xr-x | t/t7800-difftool.sh | 11 |
2 files changed, 24 insertions, 0 deletions
diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh index 6fa0c70506..bc38737b2a 100755 --- a/t/t7610-mergetool.sh +++ b/t/t7610-mergetool.sh @@ -509,4 +509,17 @@ test_expect_success 'file with no base' ' git reset --hard master >/dev/null 2>&1 ' +test_expect_success 'custom commands override built-ins' ' + git checkout -b test14 branch1 && + git config mergetool.defaults.cmd "cat \"\$REMOTE\" >\"\$MERGED\"" && + git config mergetool.defaults.trustExitCode true && + test_must_fail git merge master && + git mergetool --no-prompt --tool defaults -- both && + echo master both added >expected && + test_cmp both expected && + git config --unset mergetool.defaults.cmd && + git config --unset mergetool.defaults.trustExitCode && + git reset --hard master >/dev/null 2>&1 +' + test_done diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh index 9c3e997b9d..eb1d3f85b5 100755 --- a/t/t7800-difftool.sh +++ b/t/t7800-difftool.sh @@ -76,6 +76,17 @@ test_expect_success PERL 'custom commands' ' test "$diff" = "branch" ' +# Ensures that a custom difftool.<tool>.cmd overrides built-ins +test_expect_success PERL 'custom commands override built-ins' ' + restore_test_defaults && + git config difftool.defaults.cmd "cat \$REMOTE" && + + diff=$(git difftool --tool defaults --no-prompt branch) && + test "$diff" = "master" && + + git config --unset difftool.defaults.cmd +' + # Ensures that git-difftool ignores bogus --tool values test_expect_success PERL 'difftool ignores bad --tool values' ' diff=$(git difftool --no-prompt --tool=bad-tool branch) |