Re: [PATCH v2] completion: fix issue with process substitution not working on Git for Windows
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 26, 2011, 20:02 UTC
- Message-ID
- <7vvcrb1py0.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1319656389-9515-1-git-send-email-stefan.naewe@gmail.com>
Stefan Naewe <stefan.naewe@gmail.com> writes:
Show 12 quoted lines
> 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 <stefan.naewe@gmail.com>
Yuck, but I honestly shouldn't care about the yuckiness as this script is inherently intimately dependent on bash anyway ;-).
Show 24 quoted lines
> 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"
>
> # parse configuration values
> for option in ${GIT_PS1_SHOWUPSTREAM}; do