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

Re: shell compatibility issues with SunOS 5.10

From
Junio C Hamano <gitster@pobox.com>
Date
May 6, 2009, 06:16 UTC
Message-ID
<7vljpaycwg.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20090506055913.GA9701@dektop>
Nguyen Thai Ngoc Duy <pclouds@gmail.com> writes:
Show 11 quoted lines
> diff --git a/git-am.sh b/git-am.sh
> index 6d1848b..5a91d52 100755
> --- a/git-am.sh
> +++ b/git-am.sh
> @@ -46,7 +46,7 @@ fi
>  sq () {
>  	for sqarg
>  	do
> -		printf "%s" "$sqarg" |
> +		printf "%s\n" "$sqarg" |
>  		sed -e 's/'\''/'\''\\'\'''\''/g' -e 's/.*/ '\''&'\''/'

I think this is a correct fix; according to POSIX sed is required only to work on text files, so we should terminate its input with a newline.

Show 7 quoted lines
> diff --git a/t/t2019-checkout-sparse.sh b/t/t2019-checkout-sparse.sh
> index 4ea1ee6..6949a59 100755
> --- a/t/t2019-checkout-sparse.sh
> +++ b/t/t2019-checkout-sparse.sh
> @@ -68,13 +68,13 @@ test_expect_success 'update narrow prefix with modification' '
> -	grep -q modified work2/two &&
> +	grep modified work2/two &&

Looks harmless (-q is in POSIX by the way), but you may want to redirect the standard output to /dev/null instead (applies to your other rewrites to "grep -q" as well).

Show 10 quoted lines
> diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh
> index b68ab11..61ccdee 100755
> --- a/t/t4200-rerere.sh
> +++ b/t/t4200-rerere.sh
> @@ -57,7 +57,7 @@ test_expect_success 'conflicting merge' '
>  	test_must_fail git merge first
>  '
>  
> -sha1=$(sed -e 's/	.*//' .git/MERGE_RR)
> +sha1=$(cut -f 1 .git/MERGE_RR)
I do not know why you need this one.  It shouldn't hurt, though.
Show 10 quoted lines
> diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh
> index e2aa254..9a916d3 100755
> --- a/t/t5300-pack-object.sh
> +++ b/t/t5300-pack-object.sh
> @@ -315,7 +315,7 @@ test_expect_success 'unpacking with --strict' '
>  	head -n 10 LIST | git update-index --index-info &&
>  	LI=$(git write-tree) &&
>  	rm -f .git/index &&
> -	tail -n 10 LIST | git update-index --index-info &&
> +	tail -10 LIST | git update-index --index-info &&

I do not know why your "head" apparently accepts -n (see the context) but not your "tail"; as POSIX frowns upon head/tail -$number, this one is a regression.

Previous: Nguyen Thai Ngoc DuyNext: Nguyen Thai Ngoc Duy
Message 2 of 31 in “shell compatibility issues with SunOS 5.10”
  1. Nguyen Thai Ngoc DuyMay 6, 2009
  2. Junio C HamanoMay 6, 2009
  3. Nguyen Thai Ngoc DuyMay 6, 2009
  4. Nguyen Thai Ngoc DuyMay 7, 2009
  5. Johannes SixtMay 6, 2009
  6. Nguyen Thai Ngoc DuyMay 6, 2009
  7. Ralf WildenhuesMay 6, 2009
  8. Johannes SchindelinMay 6, 2009
  9. Nguyen Thai Ngoc DuyMay 6, 2009
  10. Jeff KingMay 6, 2009
  11. Brandon CaseyMay 6, 2009
  12. 0/4 workaround some Solaris sed issuesBrandon Casey, May 6, 2009
  13. 1/4 t4118: add missing '&&'Brandon Casey, May 6, 2009
  14. 2/4 t4118: avoid sed invocation on file without terminating newlineBrandon Casey, May 6, 2009
  15. 3/4 t/annotate-tests.sh: avoid passing a non-newline terminated file to sedBrandon Casey, May 6, 2009
  16. 4/4 t4200: avoid passing a non-newline terminated file to sedBrandon Casey, May 6, 2009
  17. Junio C HamanoMay 6, 2009
  18. Brandon CaseyMay 6, 2009
  19. Junio C HamanoMay 6, 2009
  20. 1/2 t4200: remove two unnecessary linesBrandon Casey, May 6, 2009
  21. 2/2 t4200: convert sed expression which operates on non-text file to perlBrandon Casey, May 6, 2009
  22. Nguyen Thai Ngoc DuyMay 6, 2009
  23. Nguyen Thai Ngoc DuyMay 7, 2009
  24. Brandon CaseyMay 7, 2009
  25. Junio C HamanoMay 7, 2009
  26. Johannes SixtMay 7, 2009
  27. Brandon CaseyMay 7, 2009
  28. Nguyen Thai Ngoc DuyMay 6, 2009
  29. Brandon CaseyMay 7, 2009
  30. Junio C HamanoMay 7, 2009
  31. Brandon CaseyMay 7, 2009

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.