Am 4/18/2012 0:14, schrieb Jeff King: > On Tue, Apr 17, 2012 at 09:03:21AM +0200, Johannes Sixt wrote: > >> diff --git a/run-command.c b/run-command.c >> index 2af3e0f..e4edede 100644 >> --- a/run-command.c >> +++ b/run-command.c >> @@ -94,7 +94,11 @@ static const char **prepare_shell_cmd(const char **argv) >> die("BUG: shell command is empty"); >> >> if (strcspn(argv[0], "|&;<>()$`\\\"' \t\n*?[#~=%") != strlen(argv[0])) { >> +#ifndef WIN32 >> nargv[nargc++] = SHELL_PATH; >> +#else >> + nargv[nargc++] = "sh"; >> +#endif >> nargv[nargc++] = "-c"; >> >> if (argc < 2) > > It sounds like the real problem is not the use of a configurable shell, > but rather the use of an absolute path. Should you maybe try to pass the > basename of SHELL_PATH? Or maybe that is not even worth worrying about, > as somebody on Windows is not going to ever set SHELL_PATH, since it is > not like they are working around a non-POSIX "sh" included with the > operating system (which is why people on Solaris typically set > SHELL_PATH). I thought about offering a customization point, but decided that it is not worth the hassle: Most people download an installer, then the installer can set up the PATH so that "sh" is not broken or something entirely unrelated. And those who build git themselves know sufficiently well what they are doing. -- Hannes -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html