From: "SZEDER Gábor" <szeder@ira.uka.de>
To: Stefan Naewe <stefan.naewe@gmail.com>
Cc: spearce@spearce.org, git@vger.kernel.org, gitster@pobox.com
Subject: Re: [PATCH v2] completion: fix issue with process substitution not working on Git for Windows
Date: Thu, 27 Oct 2011 11:05:30 +0200 [thread overview]
Message-ID: <20111027090530.GA23424@goldbirke> (raw)
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 <stefan.naewe@gmail.com>
> ---
> 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
next prev parent reply other threads:[~2011-10-27 9:05 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-25 18:01 [PATCH] completion: fix issue with process substitution not working on Git for Windows Stefan Naewe
2011-10-25 20:39 ` Johannes Sixt
2011-10-26 6:52 ` Stefan Näwe
2011-10-26 19:13 ` [PATCH v2] " Stefan Naewe
2011-10-26 20:02 ` Junio C Hamano
2011-10-26 21:07 ` Junio C Hamano
2011-10-27 6:26 ` Stefan Näwe
2011-10-27 9:05 ` SZEDER Gábor [this message]
2011-10-27 10:27 ` Jonas Berlin
2011-10-27 10:40 ` Jonas Berlin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111027090530.GA23424@goldbirke \
--to=szeder@ira.uka.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=spearce@spearce.org \
--cc=stefan.naewe@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.