Re: shell compatibility issues with SunOS 5.10
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:42
Nguyen Thai Ngoc Duy [off-list ref] writes:
quoted hunk
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.
quoted hunk
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).
quoted hunk
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.
quoted hunk
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.