This patch fixed executing of non-builtins if installation dir contains spaces. That is 'git var' works now. The original patch is by Johannes Sixt <j.sixt@xxxxxxxxxxxxx>. Signed-off-by: Steffen Prohaska <prohaska@xxxxxx> --- compat/mingw.c | 2 +- exec_cmd.c | 2 +- git-compat-util.h | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) Ok, this is what I created from the quick-fix. It works for me in msysgit. Should the patch be polished that it can be applied to git.git or will we only apply it to 4msysgit? If it should be polished, what would be the right way? ifdef in exec_cmd.c? Steffen diff --git a/compat/mingw.c b/compat/mingw.c index 6632192..0dd0cb0 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -196,7 +196,7 @@ void openlog(const char *ident, int option, int facility) { } -static const char *quote_arg(const char *arg) +const char *quote_arg(const char *arg) { /* count chars to quote */ int len = 0, n = 0; diff --git a/exec_cmd.c b/exec_cmd.c index 2a8e48b..4c7c7ca 100644 --- a/exec_cmd.c +++ b/exec_cmd.c @@ -132,7 +132,7 @@ int execv_git_cmd(const char **argv) */ tmp = argv[0]; - argv[0] = git_command; + argv[0] = quote_arg(git_command); trace_argv_printf(argv, -1, "trace: exec:"); diff --git a/git-compat-util.h b/git-compat-util.h index ba5a1a1..5276221 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -482,6 +482,7 @@ int mingw_socket(int domain, int type, int protocol); #define fsync(x) 0 extern void quote_argv(const char **dst, const char **src); +extern const char *quote_arg(const char *arg); extern const char *parse_interpreter(const char *cmd); extern __attribute__((noreturn)) int git_exit(int code); -- 1.5.3.mingw.1.13.g70ed-dirty - 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