Skip to content

Commit

Permalink
git-mergetool: move show_tool_help to mergetool--lib
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
John Keeping authored and Junio C Hamano committed Jan 25, 2013
1 parent 8c7a786 commit 4a8273a
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 37 deletions.
37 changes: 37 additions & 0 deletions git-mergetool--lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
37 changes: 0 additions & 37 deletions git-mergetool.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 4a8273a

Please sign in to comment.