Browse Source

difftool--helper: Remove use of the GIT_MERGE_TOOL variable

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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
David Aguilar 15 years ago committed by Junio C Hamano
parent
commit
61ed71dcff
  1. 9
      git-difftool--helper.sh
  2. 9
      t/t7800-difftool.sh

9
git-difftool--helper.sh

@ -40,11 +40,10 @@ launch_merge_tool () { @@ -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


9
t/t7800-difftool.sh

@ -32,7 +32,6 @@ restore_test_defaults() @@ -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' ' @@ -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) &&

Loading…
Cancel
Save