Code

filter-branch: fix dash complaining about "Missing '))'"
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>
Tue, 24 Jul 2007 21:29:29 +0000 (23:29 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Jul 2007 00:28:10 +0000 (17:28 -0700)
On e.g. Ubuntu, dash is used as /bin/sh.  Unlike bash it parses
commands like

  a=$((echo stuff) | wc)

as an arithmetic expression while what we want is a subshell inside
a command substitution.  Resolve the ambiguity by placing a space
between the two opening parentheses.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-filter-branch.sh

index 0ff3475525a0d50739f218abbac91eb2dc926430..b5fa44920d40d3144567509a6922a07bb87977ae 100755 (executable)
@@ -298,7 +298,7 @@ do
        # Assign the boundarie(s) in the set of rewritten commits
        # as the replacement commit(s).
        # (This would look a bit nicer if --not --stdin worked.)
-       for p in $((cd "$workdir"/../map; ls | sed "s/^/^/") |
+       for p in $( (cd "$workdir"/../map; ls | sed "s/^/^/") |
                git rev-list $ref --boundary --stdin |
                sed -n "s/^-//p")
        do