diff options
author | David Aguilar <davvid@gmail.com> | 2014-11-14 13:33:55 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-11-14 13:40:38 -0800 |
commit | 99474b6340dbcbe58f6c256fdee231cbadb060f4 (patch) | |
tree | c8d1101df80627be58bae27951796598e7980247 | |
parent | 2b52123fcf840686b69e10807fd0f985ec4167f3 (diff) | |
download | git-99474b6340dbcbe58f6c256fdee231cbadb060f4.tar.gz |
difftool: honor --trust-exit-code for builtin tools
run_merge_tool() was not setting $status, which prevented the
exit code for builtin tools from being forwarded to the caller.
Capture the exit status and add a test to guarantee the behavior.
Reported-by: Adria Farres <14farresa@gmail.com>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | git-mergetool--lib.sh | 1 | ||||
-rwxr-xr-x | t/t7800-difftool.sh | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh index c45a020301..cce4f8c494 100644 --- a/git-mergetool--lib.sh +++ b/git-mergetool--lib.sh @@ -221,6 +221,7 @@ run_merge_tool () { else run_diff_cmd "$1" fi + status=$? return $status } diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh index 69bde7aa28..ea35a0241c 100755 --- a/t/t7800-difftool.sh +++ b/t/t7800-difftool.sh @@ -86,6 +86,11 @@ test_expect_success PERL 'difftool forwards exit code with --trust-exit-code' ' test_must_fail git difftool -y --trust-exit-code -t error branch ' +test_expect_success PERL 'difftool forwards exit code with --trust-exit-code for built-ins' ' + test_config difftool.vimdiff.path false && + test_must_fail git difftool -y --trust-exit-code -t vimdiff branch +' + test_expect_success PERL 'difftool honors difftool.trustExitCode = true' ' test_config difftool.error.cmd false && test_config difftool.trustExitCode true && |