[PATCH] git-submodule.sh: separate parens by a space to avoid confusing some shells
- From
Brandon Casey <casey@nrlssc.navy.mil>
- Date
- May 26, 2011, 20:52 UTC
- Message-ID
- <vWPtQ6mu-P8TxddTGAsNGMxxRy-vaOeaUiF8WZQpA2J8HcdAc02vCzYpygwdejLhR6OIWYLtPtK7E4oxXk50vg@cipher.nrlssc.navy.mil>
From: Brandon Casey <drafnel@gmail.com>
Some shells interpret '(( ))' according to the rules for arithmetic expansion. This may not follow POSIX, but is prevalent in commonly used shells. Bash does not have a problem with this particular instance of '((', likely because it is not followed by a '))', but the public domain ksh does, and so does ksh on IRIX 6.5.
So, add a space between the parenthesis to avoid confusing these shells.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> --- git-submodule.sh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/git-submodule.sh b/git-submodule.sh index bf110e9..d189a24 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -495,7 +495,7 @@ cmd_update() # Run fetch only if $sha1 isn't present or it # is not reachable from a ref. (clear_local_git_env; cd "$path" && - ((rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) && + ( (rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) && test -z "$rev") || git-fetch)) || die "Unable to fetch in submodule path '$path'" fi
-- 1.7.4.4