Re: shell compatibility issues with SunOS 5.10

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

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.

Re: shell compatibility issues with SunOS 5.10

From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:46:42

On Wed, May 6, 2009 at 4:16 PM, Junio C Hamano [off-list ref] wrote:
quoted
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.
Well because it wouldn't work without it. But on the other hand, I
grepped "sed.*\t" through and found many of them. Still wondering
while only this fails. I will look at it again when I have time.
quoted
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.
Hey, it's Sun's magic. head manpage mentions -n and it works (I
checked) while tail does not accept it. GNU tail's manpage does not
mention that it supports [+-]N syntax but it seems to work.
-- 
Duy

Re: shell compatibility issues with SunOS 5.10

From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:46:43

On Wed, May 6, 2009 at 4:16 PM, Junio C Hamano [off-list ref] wrote:
quoted
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.
I digged back in history and found Jeff's b4ce54fc, so my approach is
wrong too. Does it have to be exactly ten last lines? If it's just one
or two lines, then sed -ne '$p' can be used.
-- 
Duy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help