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

Re: [PATCH] t0300-credentials: Word around a solaris /bin/sh bug

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Feb 2, 2012, 20:16 UTC
Message-ID
<20120202201629.GA20200@burratino>
In-Reply-To
<1328211135-25217-1-git-send-email-bwalton@artsci.utoronto.ca>
Ben Walton wrote:
Show 12 quoted lines
> --- a/t/t0300-credentials.sh
> +++ b/t/t0300-credentials.sh
> @@ -8,10 +8,12 @@ test_expect_success 'setup helper scripts' '
>  	cat >dump <<-\EOF &&
>  	whoami=`echo $0 | sed s/.*git-credential-//`
>  	echo >&2 "$whoami: $*"
> +	OIFS=$IFS
>  	while IFS== read key value; do
>  		echo >&2 "$whoami: $key=$value"
>  		eval "$key=$value"
>  	done
> +	IFS=$OIFS

Oh, good catch. Technically "read" is not a special builtin so POSIX shells are not supposed to do this (and Jeff's patch definitely looks right), but in any case temporary variable settings while running a builtin are close enough to the assignment-during-special-builtin-or-function case to make me shiver a little. ;-)

Would something like
	(
		IFS==
		while read key value
		do
			...
		done
	)
make sense?
Previous: Jeff KingNext: Matthieu Moy
Message 20 of 22 in “t0300-credentials: Word around a solaris /bin/sh bug”
  1. t0300-credentials: Word around a solaris /bin/sh bugBen Walton, Feb 2, 2012
  2. Frans KlaverFeb 2, 2012
  3. Ben WaltonFeb 2, 2012
  4. Jeff KingFeb 2, 2012
  5. Junio C HamanoFeb 3, 2012
  6. Jeff KingFeb 3, 2012
  7. Ben WaltonFeb 3, 2012
  8. Junio C HamanoFeb 3, 2012
  9. Jeff KingFeb 3, 2012
  10. Junio C HamanoFeb 3, 2012
  11. Jeff KingFeb 3, 2012
  12. Ben WaltonFeb 3, 2012
  13. Junio C HamanoFeb 3, 2012
  14. Jeff KingFeb 3, 2012
  15. Jeff KingFeb 4, 2012
  16. 1/2 tests: add write_script helper functionJeff King, Feb 4, 2012
  17. 2/2 t0300: use write_script helperJeff King, Feb 4, 2012
  18. Junio C HamanoFeb 4, 2012
  19. Jeff KingFeb 4, 2012
  20. Jonathan NiederFeb 2, 2012
  21. Matthieu MoyFeb 2, 2012
  22. Jonathan NiederFeb 2, 2012

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.