aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-09-08 21:35:54 -0700
committerJunio C Hamano <gitster@pobox.com>2016-09-08 21:35:54 -0700
commitbde42f081e68030505f59186ae036b2bbbd94ce8 (patch)
tree5d9336efa5f6a8145ff973f7a89031bbaa999778 /t
parent7c96471947c680d884e0ec7ea4f1087d14496f55 (diff)
parent45a4f5d9f99334151af90b2199004ec49a651d7a (diff)
downloadgit-bde42f081e68030505f59186ae036b2bbbd94ce8.tar.gz
git-bde42f081e68030505f59186ae036b2bbbd94ce8.tar.xz
Merge branch 'jk/difftool-command-not-found' into maint
"git difftool" by default ignores the error exit from the backend commands it spawns, because often they signal that they found differences by exiting with a non-zero status code just like "diff" does; the exit status codes 126 and above however are special in that they are used to signal that the command is not executable, does not exist, or killed by a signal. "git difftool" has been taught to notice these exit status codes. * jk/difftool-command-not-found: difftool: always honor fatal error exit codes
Diffstat (limited to 't')
-rwxr-xr-xt/t7800-difftool.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 297490057..70a2de461 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -124,6 +124,12 @@ test_expect_success PERL 'difftool stops on error with --trust-exit-code' '
test_cmp expect actual
'
+test_expect_success PERL 'difftool honors exit status if command not found' '
+ test_config difftool.nonexistent.cmd i-dont-exist &&
+ test_config difftool.trustExitCode false &&
+ test_must_fail git difftool -y -t nonexistent branch
+'
+
test_expect_success PERL 'difftool honors --gui' '
difftool_test_setup &&
test_config merge.tool bogus-tool &&