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

[PATCH 2/4] difftool--helper: Remove use of the GIT_MERGE_TOOL variable

From
David Aguilar <davvid@gmail.com>
Date
Jan 10, 2010, 04:02 UTC
Message-ID
<1263096163-15743-2-git-send-email-davvid@gmail.com>
In-Reply-To
<1263096163-15743-1-git-send-email-davvid@gmail.com>

An undocumented mis-feature in git-difftool is that it allows you to specify a default difftool by setting GIT_MERGE_TOOL. This behavior was never documented and was included as an oversight back when git-difftool was maintained outside of git.

git-mergetool never honored GIT_MERGE_TOOL so neither should git-difftool.

Signed-off-by: David Aguilar <davvid@gmail.com>
---
 git-difftool--helper.sh |    9 ++++-----
 t/t7800-difftool.sh     |    9 ---------
 2 files changed, 4 insertions(+), 14 deletions(-)
diff --git a/git-difftool--helper.sh b/git-difftool--helper.sh
index 1b13808..3621f28 100755
--- a/git-difftool--helper.sh
+++ b/git-difftool--helper.sh
@@ -40,11 +40,10 @@ launch_merge_tool () {
 	run_merge_tool "$merge_tool"
 }
 
-# Allow GIT_DIFF_TOOL and GIT_MERGE_TOOL to provide default values
-test -n "$GIT_MERGE_TOOL" && merge_tool="$GIT_MERGE_TOOL"
-test -n "$GIT_DIFF_TOOL" && merge_tool="$GIT_DIFF_TOOL"
-
-if test -z "$merge_tool"; then
+# GIT_DIFF_TOOL indicates that --tool=... was specified
+if test -n "$GIT_DIFF_TOOL"; then
+	merge_tool="$GIT_DIFF_TOOL"
+else
 	merge_tool="$(get_merge_tool)" || exit
 fi
 
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 9bf6c98..eca51a8 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -32,7 +32,6 @@ restore_test_defaults()
 	# Restores the test defaults used by several tests
 	remove_config_vars
 	unset GIT_DIFF_TOOL
-	unset GIT_MERGE_TOOL
 	unset GIT_DIFFTOOL_PROMPT
 	unset GIT_DIFFTOOL_NO_PROMPT
 	git config diff.tool test-tool &&
@@ -107,15 +106,7 @@ test_expect_success 'GIT_DIFF_TOOL overrides' '
 	git config diff.tool bogus-tool &&
 	git config merge.tool bogus-tool &&
 
-	GIT_MERGE_TOOL=test-tool &&
-	export GIT_MERGE_TOOL &&
-	diff=$(git difftool --no-prompt branch) &&
-	test "$diff" = "branch" &&
-	unset GIT_MERGE_TOOL &&
-
-	GIT_MERGE_TOOL=bogus-tool &&
 	GIT_DIFF_TOOL=test-tool &&
-	export GIT_MERGE_TOOL &&
 	export GIT_DIFF_TOOL &&
 
 	diff=$(git difftool --no-prompt branch) &&
-- 
1.6.6.4.g20a38b.dirty
Previous: David AguilarNext: David Aguilar
Message 2 of 4 in “difftool--helper: Update copyright and remove distracting comments”
  1. 1/4 difftool--helper: Update copyright and remove distracting commentsDavid Aguilar, Jan 10, 2010
  2. 2/4 difftool--helper: Remove use of the GIT_MERGE_TOOL variableDavid Aguilar, Jan 10, 2010
  3. 3/4 difftool: Allow specifying unconfigured commands with --extcmdDavid Aguilar, Jan 10, 2010
  4. 4/4 git-diff.txt: Link to git-difftoolDavid Aguilar, Jan 10, 2010

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.