From: SZEDER Gábor Date: Thu, 27 Oct 2011 09:05:30 GMT Subject: Re: [PATCH v2] completion: fix issue with process substitution not working on Git for Windows Message-ID: <20111027090530.GA23424@goldbirke> In-Reply-To: <1319656389-9515-1-git-send-email-stefan.naewe@gmail.com> On Wed, Oct 26, 2011 at 09:13:09PM +0200, Stefan Naewe wrote: > Git for Windows comes with a bash that doesn't support process substitution. > It issues the following error when using git-completion.bash with > GIT_PS1_SHOWUPSTREAM set: > > $ export GIT_PS1_SHOWUPSTREAM=1 > sh.exe": cannot make pipe for process substitution: Function not implemented > sh.exe": cannot make pipe for process substitution: Function not implemented > sh.exe": <(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n '): ambiguous redirect > > Replace the process substitution with a 'here string'. > > Signed-off-by: Stefan Naewe > --- > contrib/completion/git-completion.bash | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash > index 8648a36..0b3d47e 100755 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -110,6 +110,7 @@ __git_ps1_show_upstream () > local upstream=git legacy="" verbose="" > > # get some config options from git-config > + output="$(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ')" > while read key value; do > case "$key" in > bash.showupstream) > @@ -125,7 +126,7 @@ __git_ps1_show_upstream () > upstream=svn+git # default upstream is SVN if available, else git > ;; > esac > - done < <(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ') > + done <<< "$output" The $output variable is not declared as local and therefore it leaks into the environment. But instead of declaring it local, why not eliminate it altogether, and use the "$(git config ....)" command substitution as here string? Gábor