Git fork

mergetools: add description to all diff/merge tools

The output of `git mergetool --tool-help` and `git difftool --tool-help`
only showed the `alias` of each available merge/diff tool.

It is not always obvious what tool these `aliases` end up using (ex:
`opendiff` runs `FileMerge` and `bc` runs `Beyond Compare`).

This commit adds a short description to each of them to help the user
identify the `alias` they want.

Signed-off-by: Fernando Ramos <greenfoo@u92.eu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Fernando Ramos and committed by
Junio C Hamano
980145f7 7b5cf8be

+160
+8
mergetools/araxis
··· 2 2 "$merge_tool_path" -wait -2 "$LOCAL" "$REMOTE" >/dev/null 2>&1 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use Araxis Merge (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 11 15 "$merge_tool_path" -wait -2 \ 12 16 "$LOCAL" "$REMOTE" "$MERGED" >/dev/null 2>&1 13 17 fi 18 + } 19 + 20 + merge_cmd_help () { 21 + echo "Use Araxis Merge (requires a graphical session)" 14 22 } 15 23 16 24 translate_merge_tool_path() {
+8
mergetools/bc
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use Beyond Compare (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 11 15 "$merge_tool_path" "$LOCAL" "$REMOTE" \ 12 16 -mergeoutput="$MERGED" 13 17 fi 18 + } 19 + 20 + merge_cmd_help () { 21 + echo "Use Beyond Compare (requires a graphical session)" 14 22 } 15 23 16 24 translate_merge_tool_path() {
+8
mergetools/codecompare
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use Code Compare (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 11 15 "$merge_tool_path" -MF="$LOCAL" -TF="$REMOTE" \ 12 16 -RF="$MERGED" 13 17 fi 18 + } 19 + 20 + merge_cmd_help () { 21 + echo "Use Code Compare (requires a graphical session)" 14 22 } 15 23 16 24 translate_merge_tool_path() {
+8
mergetools/deltawalker
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" >/dev/null 2>&1 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use DeltaWalker (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 # Adding $(pwd)/ in front of $MERGED should not be necessary. 7 11 # However without it, DeltaWalker (at least v1.9.8 on Windows) ··· 14 18 else 15 19 "$merge_tool_path" "$LOCAL" "$REMOTE" -merged="$(pwd)/$MERGED" 16 20 fi >/dev/null 2>&1 21 + } 22 + 23 + merge_cmd_help () { 24 + echo "Use DeltaWalker (requires a graphical session)" 17 25 } 18 26 19 27 translate_merge_tool_path () {
+8
mergetools/diffmerge
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" >/dev/null 2>&1 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use DiffMerge (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 11 15 "$merge_tool_path" --merge \ 12 16 --result="$MERGED" "$LOCAL" "$REMOTE" 13 17 fi 18 + } 19 + 20 + merge_cmd_help () { 21 + echo "Use DiffMerge (requires a graphical session)" 14 22 } 15 23 16 24 exit_code_trustable () {
+8
mergetools/diffuse
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" | cat 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use Diffuse (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 13 17 "$LOCAL" "$MERGED" "$REMOTE" | cat 14 18 fi 15 19 } 20 + 21 + merge_cmd_help () { 22 + echo "Use Diffuse (requires a graphical session)" 23 + }
+8
mergetools/ecmerge
··· 2 2 "$merge_tool_path" --default --mode=diff2 "$LOCAL" "$REMOTE" 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use ECMerge (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 12 16 --default --mode=merge2 --to="$MERGED" 13 17 fi 14 18 } 19 + 20 + merge_cmd_help () { 21 + echo "Use ECMerge (requires a graphical session)" 22 + }
+8
mergetools/emerge
··· 2 2 "$merge_tool_path" -f emerge-files-command "$LOCAL" "$REMOTE" 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use Emacs' Emerge" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 15 19 "$LOCAL" "$REMOTE" \ 16 20 "$(basename "$MERGED")" 17 21 fi 22 + } 23 + 24 + merge_cmd_help () { 25 + echo "Use Emacs' Emerge" 18 26 } 19 27 20 28 translate_merge_tool_path() {
+8
mergetools/examdiff
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" -nh 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use ExamDiff Pro (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 9 13 else 10 14 "$merge_tool_path" -merge "$LOCAL" "$REMOTE" -o:"$MERGED" -nh 11 15 fi 16 + } 17 + 18 + merge_cmd_help () { 19 + echo "Use ExamDiff Pro (requires a graphical session)" 12 20 } 13 21 14 22 translate_merge_tool_path() {
+8
mergetools/guiffy
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use Guiffy's Diff Tool (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 11 15 "$merge_tool_path" -m "$LOCAL" \ 12 16 "$REMOTE" "$MERGED" 13 17 fi 18 + } 19 + 20 + merge_cmd_help () { 21 + echo "Use Guiffy's Diff Tool (requires a graphical session)" 14 22 } 15 23 16 24 exit_code_trustable () {
+8
mergetools/kdiff3
··· 4 4 "$LOCAL" "$REMOTE" >/dev/null 2>&1 5 5 } 6 6 7 + diff_cmd_help () { 8 + echo "Use KDiff3 (requires a graphical session)" 9 + } 10 + 7 11 merge_cmd () { 8 12 if $base_present 9 13 then ··· 20 24 -o "$MERGED" "$LOCAL" "$REMOTE" \ 21 25 >/dev/null 2>&1 22 26 fi 27 + } 28 + 29 + merge_cmd_help () { 30 + echo "Use KDiff3 (requires a graphical session)" 23 31 } 24 32 25 33 exit_code_trustable () {
+8
mergetools/kompare
··· 2 2 return 1 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use Kompare (requires a graphical session)" 7 + } 8 + 5 9 diff_cmd () { 6 10 "$merge_tool_path" "$LOCAL" "$REMOTE" 11 + } 12 + 13 + merge_cmd_help () { 14 + echo "Use Kompare (requires a graphical session)" 7 15 } 8 16 9 17 exit_code_trustable () {
+8
mergetools/meld
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use Meld (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 check_meld_for_features 7 11 ··· 18 22 else 19 23 "$merge_tool_path" $option_auto_merge "$LOCAL" "$MERGED" "$REMOTE" 20 24 fi 25 + } 26 + 27 + merge_cmd_help () { 28 + echo "Use Meld (requires a graphical session) with optional \`auto merge\` (see \`git help mergetool\`'s \`CONFIGURATION\` section)" 21 29 } 22 30 23 31 # Get meld help message
+8
mergetools/opendiff
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" | cat 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use FileMerge (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 12 16 -merge "$MERGED" | cat 13 17 fi 14 18 } 19 + 20 + merge_cmd_help () { 21 + echo "Use FileMerge (requires a graphical session)" 22 + }
+8
mergetools/p4merge
··· 19 19 fi 20 20 } 21 21 22 + diff_cmd_help () { 23 + echo "Use HelixCore P4Merge (requires a graphical session)" 24 + } 25 + 22 26 merge_cmd () { 23 27 if ! $base_present 24 28 then ··· 34 38 35 39 printf "%s" "$empty_file" 36 40 } 41 + 42 + merge_cmd_help () { 43 + echo "Use HelixCore P4Merge (requires a graphical session)" 44 + }
+8
mergetools/smerge
··· 2 2 "$merge_tool_path" mergetool "$LOCAL" "$REMOTE" -o "$MERGED" 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use Sublime Merge (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 10 14 "$merge_tool_path" mergetool "$LOCAL" "$REMOTE" -o "$MERGED" 11 15 fi 12 16 } 17 + 18 + merge_cmd_help () { 19 + echo "Use Sublime Merge (requires a graphical session)" 20 + }
+8
mergetools/tkdiff
··· 2 2 "$merge_tool_path" "$LOCAL" "$REMOTE" 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use TkDiff (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 14 18 exit_code_trustable () { 15 19 true 16 20 } 21 + 22 + merge_cmd_help () { 23 + echo "Use TkDiff (requires a graphical session)" 24 + }
+8
mergetools/tortoisemerge
··· 2 2 return 1 3 3 } 4 4 5 + diff_cmd_help () { 6 + echo "Use TortoiseMerge (requires a graphical session)" 7 + } 8 + 5 9 merge_cmd () { 6 10 if $base_present 7 11 then ··· 30 34 echo tortoisemerge 31 35 fi 32 36 } 37 + 38 + merge_cmd_help () { 39 + echo "Use TortoiseMerge (requires a graphical session)" 40 + }
+8
mergetools/winmerge
··· 3 3 return 0 4 4 } 5 5 6 + diff_cmd_help () { 7 + echo "Use WinMerge (requires a graphical session)" 8 + } 9 + 6 10 merge_cmd () { 7 11 # mergetool.winmerge.trustExitCode is implicitly false. 8 12 # touch $BACKUP so that we can check_unchanged. ··· 13 17 translate_merge_tool_path() { 14 18 mergetool_find_win32_cmd "WinMergeU.exe" "WinMerge" 15 19 } 20 + 21 + merge_cmd_help () { 22 + echo "Use WinMerge (requires a graphical session)" 23 + }
+8
mergetools/xxdiff
··· 12 12 fi 13 13 } 14 14 15 + diff_cmd_help () { 16 + echo "Use xxdiff (requires a graphical session)" 17 + } 18 + 15 19 merge_cmd () { 16 20 if $base_present 17 21 then ··· 28 32 --merged-file "$MERGED" "$LOCAL" "$REMOTE" 29 33 fi 30 34 } 35 + 36 + merge_cmd_help () { 37 + echo "Use xxdiff (requires a graphical session)" 38 + }