Subject: Re: [PATCH v2 0/4] Auto-generate mergetool lists

From: John Keeping <[email-masked]>
Date: Tue, 29 Jan 2013 12:09:23 +0000

On Tue, Jan 29, 2013 at 12:56:58PM +0100, Joachim Schmitz wrote:
> John Keeping wrote:
> > Currently I'm extracting the command word using:
> >
> >    cmd=$(eval -- "set -- $(git config mergetool.$tool.cmd); echo
> > \"$1\"")
> 
> Shouldnt this work?
> cmd=$((git config "mergetool.$tool.cmd" || git config "difftool.$tool.cmd") 
> | awk '{print $1}')

That doesn't handle paths with spaces in, whereas the eval in a subshell
does:

    $ cmd='"my command" $BASE $LOCAL $REMOTE'
    $ echo "$cmd" | awk '{print $1}'
    "my
    $ ( eval -- "set -- $cmd; echo \"\$1\"" )
    my command

John