Michael J Gruber <[email protected]> writes:

> When no diff nor merge tool is specified (config, option), mergetool-lib
> is supposed to choose a default tool from a set of tools. That set is
> constructed dynamically depending on the environment (graphical, editor
> setting) as a space separated string of tool names.
>
> 719518f (mergetool--lib: set IFS for difftool and mergetool, 2015-05-20)
> introduced a newline as IFS which breaks the parsing of the space
> separated list into items, resulting in a failed search for an available
> tool.
>
> Set IFS to a space locally for the tool search.

I wondered where this "locally" is ensured; it turns out that this
shell function is supposed to be always called inside $() to return
its result via its standard output ;-)

So I think this change makes sense.

> Signed-off-by: Michael J Gruber <[email protected]>
> ---
>  git-mergetool--lib.sh | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
> index 14b039d..54ac8e4 100644
> --- a/git-mergetool--lib.sh
> +++ b/git-mergetool--lib.sh
> @@ -305,6 +305,7 @@ guess_merge_tool () {
>       EOF
>  
>       # Loop over each candidate and stop when a valid merge tool is found.
> +     IFS=' '
>       for tool in $tools
>       do
>               is_available "$tool" && echo "$tool" && return 0
--
To unsubscribe from this list: send the line "unsubscribe git" in

Reply via email to