submodule foreach: skip eval for more than one argument
[gitweb.git] / git-submodule.sh
index 2979197087f2c6d97e2945008394d50c16a195a5..7b2a83d70f7a9a178f3f0526ea0334891d12b10e 100755 (executable)
@@ -545,7 +545,12 @@ cmd_foreach()
                                sm_path=$(relative_path "$sm_path") &&
                                # we make $path available to scripts ...
                                path=$sm_path &&
-                               eval "$@" &&
+                               if test $# -eq 1
+                               then
+                                       eval "$1"
+                               else
+                                       "$@"
+                               fi &&
                                if test -n "$recursive"
                                then
                                        cmd_foreach "--recursive" "$@"