git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Next: Junio C Hamano
Message 1 of 8 in “difftool: honor --trust-exit-code for builtin tools”
  1. difftool: honor --trust-exit-code for builtin toolsDavid Aguilar, Nov 14, 2014
  2. Junio C HamanoNov 14, 2014
  3. David AguilarNov 14, 2014
  4. Mikael MagnussonNov 16, 2014
  5. David AguilarNov 16, 2014
  6. Junio C HamanoNov 16, 2014
  7. Aaron SchrabNov 17, 2014
  8. Andreas SchwabNov 16, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.