git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH] mergetool-lib: fix default tool selection
@ 2015-06-19  9:30 Michael J Gruber
  2015-06-19 17:39 ` Junio C Hamano
  0 siblings, 1 reply; 2+ messages in thread
From: Michael J Gruber @ 2015-06-19  9:30 UTC (permalink / raw
  To: git; +Cc: David Aguilar

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.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
---
 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
-- 
2.4.4.610.gea30ab1.dirty

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] mergetool-lib: fix default tool selection
  2015-06-19  9:30 [PATCH] mergetool-lib: fix default tool selection Michael J Gruber
@ 2015-06-19 17:39 ` Junio C Hamano
  0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2015-06-19 17:39 UTC (permalink / raw
  To: Michael J Gruber; +Cc: git, David Aguilar

Michael J Gruber <git@drmicha.warpmail.net> 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 <git@drmicha.warpmail.net>
> ---
>  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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-06-19 17:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-19  9:30 [PATCH] mergetool-lib: fix default tool selection Michael J Gruber
2015-06-19 17:39 ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).