[PATCH] difftool: honor --trust-exit-code for builtin tools
- From
David Aguilar <davvid@gmail.com>
- Date
- Nov 14, 2014, 21:33 UTC
- Message-ID
- <1416000835-79274-1-git-send-email-davvid@gmail.com>
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> --- git-mergetool--lib.sh | 1 + t/t7800-difftool.sh | 5 +++++ 2 files changed, 6 insertions(+)
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh index a40d3df..2b66351 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 69bde7a..ea35a02 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 &&
-- 2.2.0.rc1.23.gf570943.dirty