Browse Source

git-mergetool: move show_tool_help to mergetool--lib

This is the first step in unifying "git difftool --tool-help" and
"git mergetool --tool-help".

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
John Keeping 12 years ago committed by Junio C Hamano
parent
commit
4a8273a3ed
  1. 37
      git-mergetool--lib.sh
  2. 37
      git-mergetool.sh

37
git-mergetool--lib.sh

@ -174,6 +174,43 @@ list_merge_tool_candidates () { @@ -174,6 +174,43 @@ list_merge_tool_candidates () {
esac
}

show_tool_help () {
TOOL_MODE=merge
list_merge_tool_candidates
unavailable= available= LF='
'
for i in $tools
do
merge_tool_path=$(translate_merge_tool_path "$i")
if type "$merge_tool_path" >/dev/null 2>&1
then
available="$available$i$LF"
else
unavailable="$unavailable$i$LF"
fi
done
if test -n "$available"
then
echo "'git mergetool --tool=<tool>' may be set to one of the following:"
echo "$available" | sort | sed -e 's/^/ /'
else
echo "No suitable tool for 'git mergetool --tool=<tool>' found."
fi
if test -n "$unavailable"
then
echo
echo 'The following tools are valid, but not currently available:'
echo "$unavailable" | sort | sed -e 's/^/ /'
fi
if test -n "$unavailable$available"
then
echo
echo "Some of the tools listed above only work in a windowed"
echo "environment. If run in a terminal-only session, they will fail."
fi
exit 0
}

guess_merge_tool () {
list_merge_tool_candidates
echo >&2 "merge tool candidates: $tools"

37
git-mergetool.sh

@ -315,43 +315,6 @@ merge_file () { @@ -315,43 +315,6 @@ merge_file () {
return 0
}

show_tool_help () {
TOOL_MODE=merge
list_merge_tool_candidates
unavailable= available= LF='
'
for i in $tools
do
merge_tool_path=$(translate_merge_tool_path "$i")
if type "$merge_tool_path" >/dev/null 2>&1
then
available="$available$i$LF"
else
unavailable="$unavailable$i$LF"
fi
done
if test -n "$available"
then
echo "'git mergetool --tool=<tool>' may be set to one of the following:"
echo "$available" | sort | sed -e 's/^/ /'
else
echo "No suitable tool for 'git mergetool --tool=<tool>' found."
fi
if test -n "$unavailable"
then
echo
echo 'The following tools are valid, but not currently available:'
echo "$unavailable" | sort | sed -e 's/^/ /'
fi
if test -n "$unavailable$available"
then
echo
echo "Some of the tools listed above only work in a windowed"
echo "environment. If run in a terminal-only session, they will fail."
fi
exit 0
}

prompt=$(git config --bool mergetool.prompt || echo true)

while test $# != 0

Loading…
Cancel
Save