summaryrefslogtreecommitdiff
path: root/git-difftool--helper.sh
diff options
context:
space:
mode:
authorSeth House <seth@eseth.com>2021-02-09 20:07:11 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-02-09 22:09:16 (GMT)
commitde8dafbada811bc1bc8e1288541931f3c5406231 (patch)
treeb565c165746b15098384e4578f977c16d894a2d1 /git-difftool--helper.sh
parent98ea309b3fa4818c1591b9071925ccb22c2e786b (diff)
downloadgit-de8dafbada811bc1bc8e1288541931f3c5406231.zip
git-de8dafbada811bc1bc8e1288541931f3c5406231.tar.gz
git-de8dafbada811bc1bc8e1288541931f3c5406231.tar.bz2
mergetool: break setup_tool out into separate initialization function
This is preparation for the following commit where we need to source the mergetool shell script to look for overrides before `run_merge_tool` is called. Previously `run_merge_tool` both sourced that script and invoked the mergetool. In the case of the following commit, we need the result of the `hide_resolved` override, if present, before we actually run `run_merge_tool`. The new `initialize_merge_tool` wrapper is exposed and documented as a public interface for consistency with the existing `run_merge_tool` which is also public. Although `setup_tool` could instead be exposed directly, the related `setup_user_tool` would probably also want to be elevated to match and this felt the cleanest to me. Signed-off-by: Seth House <seth@eseth.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-difftool--helper.sh')
-rwxr-xr-xgit-difftool--helper.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/git-difftool--helper.sh b/git-difftool--helper.sh
index 46af3e6..992124c 100755
--- a/git-difftool--helper.sh
+++ b/git-difftool--helper.sh
@@ -61,6 +61,9 @@ launch_merge_tool () {
export BASE
eval $GIT_DIFFTOOL_EXTCMD '"$LOCAL"' '"$REMOTE"'
else
+ initialize_merge_tool "$merge_tool"
+ # ignore the error from the above --- run_merge_tool
+ # will diagnose unusable tool by itself
run_merge_tool "$merge_tool"
fi
}
@@ -79,6 +82,9 @@ if test -n "$GIT_DIFFTOOL_DIRDIFF"
then
LOCAL="$1"
REMOTE="$2"
+ initialize_merge_tool "$merge_tool"
+ # ignore the error from the above --- run_merge_tool
+ # will diagnose unusable tool by itself
run_merge_tool "$merge_tool" false
else
# Launch the merge tool on each path provided by 'git diff'