diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-02-06 03:31:24 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-02-06 03:31:24 +0300 |
commit | 64971f0ac0200d3bb53cb19e7367cf57a40ae1fc (patch) | |
tree | 4d21d1a12b56d6b2896476d97861209b31faf688 | |
parent | 897d28bcc23878b5d98b46f3903e3d2a302d8a01 (diff) | |
parent | 80f5a16798b7ff224aeab4a6b6e3627446071345 (diff) |
Merge branch 'pb/mergetool-tool-help-fix' into maint
Fix 2.29 regression where "git mergetool --tool-help" fails to list
all the available tools.
* pb/mergetool-tool-help-fix:
mergetool--lib: fix '--tool-help' to correctly show available tools
-rw-r--r-- | git-mergetool--lib.sh | 6 | ||||
-rwxr-xr-x | t/t7610-mergetool.sh | 11 |
2 files changed, 15 insertions, 2 deletions
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh index 7225abd811..78f3647ed9 100644 --- a/git-mergetool--lib.sh +++ b/git-mergetool--lib.sh @@ -46,9 +46,11 @@ show_tool_names () { while read scriptname do setup_tool "$scriptname" 2>/dev/null - variants="$variants$(list_tool_variants)\n" + # We need an actual line feed here + variants="$variants +$(list_tool_variants)" done - variants="$(echo "$variants" | sort | uniq)" + variants="$(echo "$variants" | sort -u)" for toolname in $variants do diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh index 70afdd06fa..6ac75b5d4c 100755 --- a/t/t7610-mergetool.sh +++ b/t/t7610-mergetool.sh @@ -828,4 +828,15 @@ test_expect_success 'mergetool -Oorder-file is honored' ' test_cmp expect actual ' +test_expect_success 'mergetool --tool-help shows recognized tools' ' + # Check a few known tools are correctly shown + git mergetool --tool-help >mergetools && + grep vimdiff mergetools && + grep vimdiff3 mergetools && + grep gvimdiff2 mergetools && + grep araxis mergetools && + grep xxdiff mergetools && + grep meld mergetools +' + test_done |