From: René Scharfe Date: Tue, 24 Jul 2007 21:29:29 GMT Subject: [PATCH] filter-branch: fix dash complaining about "Missing '))'" Message-ID: <46A66F39.20507@lsrfire.ath.cx> 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 --- diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 0ff3475..b5fa449 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -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