Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Aguilar <davvid@gmail.com>2014-11-15 00:33:55 +0300
committerJunio C Hamano <gitster@pobox.com>2014-11-15 00:40:38 +0300
commit99474b6340dbcbe58f6c256fdee231cbadb060f4 (patch)
treec8d1101df80627be58bae27951796598e7980247
parent2b52123fcf840686b69e10807fd0f985ec4167f3 (diff)
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.sh1
-rwxr-xr-xt/t7800-difftool.sh5
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 &&