Re: [BUG] Regression in 'git mergetool --tool-help'
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Dec 20, 2020, 10:28 UTC
- Message-ID
- <568f42a0-f630-64ca-9f77-183dcaa56d1e@kdbg.org>
- In-Reply-To
- <c4f2330f-715b-1745-5ad7-5477f4e833db@gmail.com>
Am 20.12.20 um 03:13 schrieb Philippe Blain:
Show 25 quoted lines
> Thanks for both answers. Felipe's solution does the trick, but Junio's
> does not;
> it seems we do have to have a newline there. The following also works,
> and I think
> is portable:
>
> diff --git i/git-mergetool--lib.sh w/git-mergetool--lib.sh
> index 2defef28cd..6f03975493 100644
> --- i/git-mergetool--lib.sh
> +++ w/git-mergetool--lib.sh
> @@ -46,7 +46,7 @@ show_tool_names () {
> while read scriptname
> do
> setup_tool "$scriptname" 2>/dev/null
> - variants="$variants$(list_tool_variants)\n"
> + variants="$(echo "$variants" && list_tool_variants)"
> done
> variants="$(echo "$variants" | sort | uniq)"
>
> I figured out what was different between the different Ubuntu versions I
> was testing:
> the Ubuntu 14 and 18 systems have Bash as /bin/sh, but my Ubuntu 20 system
> has /usr/bin/dash as /bin/sh (the default for Ubuntu these days).
>
> I'll try to send a formal patch with the diff above, time permitting...If possible, please do not use sub-processes like in your suggested patch. How about
variants="$variants $(list_tool_variants)"
It leaves a blank line at the beginning of $variants instead of the end and should not make a difference in the outcome of
variants="$(echo "$variants" | sort | uniq)"
BTW, is `sort -u` not available everywhere?
-- Hannes