Subject: Re: [PATCH 10/20] git-submodule.sh: avoid "test <cond> -a/-o <cond>"

From: Junio C Hamano <[email-masked]>
Date: Mon, 09 Jun 2014 16:23:45 -0700

Elia Pinto <[email-masked]> writes:

> @@ -1059,13 +1059,17 @@ cmd_summary() {
>  		while read mod_src mod_dst sha1_src sha1_dst status sm_path
>  		do
>  			# Always show modules deleted or type-changed (blob<->module)
> -			test $status = D -o $status = T && echo "$sm_path" && continue
> +			case "$status" in
> +			[DT])
> +				printf '%s\n' "$sm_path" &&
> +				continue
> +			esac

I think this conversion is wrong and causes parse error.  The
surrounding code cannot be seen in the context of thsi patch, but
looks somewhat like this:

	modules=$( ....
                   case "$status" in
                   [DT])
                           ...
                   esac
                   .... )

Perhaps you would need to spell it with the extra opening
parenthesis, like so:

	case string in
        ([DT])
        	...
	esac

or something.