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

3 messages from 2006-05-28 to 2006-05-28. Participants: Dennis Stosberg, Junio C Hamano.
Thread: https://gitlist.dev/t/4320

## Dennis Stosberg, 2006-05-28 20:45

Subject: [PATCH] git-fetch: Shell syntax fix for NetBSD
Message-ID: <20060528204510.G51ab1cf8@leonov.stosberg.net>
URL: https://gitlist.dev/e/20060528204510.G51ab1cf8%40leonov.stosberg.net

```
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(-)

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, 2006-05-28 21:04

Subject: Re: [PATCH] git-fetch: Shell syntax fix for NetBSD
Message-ID: <7vbqthdfpa.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vbqthdfpa.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <20060528204510.G51ab1cf8@leonov.stosberg.net>

```
Dennis Stosberg <dennis@stosberg.net> writes:

> 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?

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, 2006-05-28 21:28

Subject: Re: [PATCH] git-fetch: Shell syntax fix for NetBSD
Message-ID: <20060528212803.G53d5b45d@leonov.stosberg.net>
URL: https://gitlist.dev/e/20060528212803.G53d5b45d%40leonov.stosberg.net
In-Reply-To: <7vbqthdfpa.fsf@assigned-by-dhcp.cox.net>

```
Junio C Hamano wrote:

> 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

```
