threads / patch / 4320

patchgit-fetch: Shell syntax fix for NetBSD

Subject: [PATCH] git-fetch: Shell syntax fix for NetBSD

## tl;dr

3 messages between May 28, 2006 and May 28, 2006. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Dennis Stosberg· May 28, 2006, 20:45 UTC · lore

NetBSD's default shell does not accept an opening parenthesis in a case switch.

$ ./git-fetch ./git-fetch: 219: Syntax error: word unexpected (expecting ")")

--- With this change applied to the next branch, all tests complete successfully on NetBSD 3.0 without having bash installed.

 git-fetch.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to git-fetch.sh +1 −1
diff --git a/git-fetch.sh b/git-fetch.sh
index 280f62e..b8092a6 100755
--- a/git-fetch.sh
+++ b/git-fetch.sh
@@ -216,7 +216,7 @@ then
 	          while read sha1 name
 		  do
 			case "$name" in
-			(*^*) continue ;;
+			*^*) continue ;;
 			esac
 		  	if git-check-ref-format "$name"
 			then
-- 
1.3.3.g3c38f
Junio C Hamano· May 28, 2006, 21:04 UTC · re: Dennis Stosberg · lore

Re: [PATCH] git-fetch: Shell syntax fix for NetBSD

Dennis Stosberg <dennis@stosberg.net> writes:
Show 9 quoted lines
> NetBSD's default shell does not accept an opening parenthesis in
> a case switch.
>
> $ ./git-fetch
> ./git-fetch: 219: Syntax error: word unexpected (expecting ")")
>
> ---
> With this change applied to the next branch, all tests complete
> successfully on NetBSD 3.0 without having bash installed.
Funny.  Without the posixy open parenthesis, bash barfs ;-).
        git-fetch: line 219: syntax error near unexpected token `;;'
        git-fetch: line 219: `                 *^*) continue ;;'

So how about doing this instead? Does NetBSD default shell still work with it?

Show changes to git-fetch.sh +3 −3
diff --git a/git-fetch.sh b/git-fetch.sh
index 280f62e..69bd810 100755
--- a/git-fetch.sh
+++ b/git-fetch.sh
@@ -211,12 +211,12 @@ # Otherwise we do what we always did.
 reflist=$(get_remote_refs_for_fetch "$@")
 if test "$tags"
 then
-	taglist=$(IFS="	" &&
+	taglist=`IFS="	" &&
 		  git-ls-remote $upload_pack --tags "$remote" |
 	          while read sha1 name
 		  do
 			case "$name" in
-			(*^*) continue ;;
+			*^*) continue ;;
 			esac
 		  	if git-check-ref-format "$name"
 			then
@@ -224,7 +224,7 @@ then
 			else
 			    echo >&2 "warning: tag ${name} ignored"
 			fi
-		  done)
+		  done`
 	if test "$#" -gt 1
 	then
 		# remote URL plus explicit refspecs; we need to merge them.
Dennis Stosberg· May 28, 2006, 21:28 UTC · re: Junio C Hamano · lore

Re: [PATCH] git-fetch: Shell syntax fix for NetBSD

Junio C Hamano wrote:
Show 7 quoted lines
> Funny.  Without the posixy open parenthesis, bash barfs ;-).
> 
>         git-fetch: line 219: syntax error near unexpected token `;;'
>         git-fetch: line 219: `                 *^*) continue ;;'
> 
> So how about doing this instead?  Does NetBSD default shell
> still work with it?

This looked so simple that I didn't notice the command substitution...

Yes, your version works correctly here.

Regards, Dennis

← back to recent threads