git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Stefan NaeweNext: Junio C Hamano
Message 5 of 10 in “completion: fix issue with process substitution not working on Git for Windows”
  1. completion: fix issue with process substitution not working on Git for WindowsStefan Naewe, Oct 25, 2011
  2. Johannes SixtOct 25, 2011
  3. Stefan NäweOct 26, 2011
  4. completion: fix issue with process substitution not working on Git for WindowsStefan Naewe, Oct 26, 2011
  5. Junio C HamanoOct 26, 2011
  6. Junio C HamanoOct 26, 2011
  7. Stefan NäweOct 27, 2011
  8. SZEDER GáborOct 27, 2011
  9. Jonas BerlinOct 27, 2011
  10. Jonas BerlinOct 27, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.