On May 8, 2015 10:31:05 AM PDT, Phil Susi <phillsusi@xxxxxxxxx> wrote: >I'm trying to have git difftool run winmerge to compare files, but it >seems to be doing something silly with path translation. My first >attempt was: > >git difftool -x /c/Program\ Files\ \(x86\)/WinMerge/WinMergeU.exe > >To which it responded: > >C:\Users\psusi\AppData\Local\Programs\Git/libexec/git-core\git-difftool--helper: > eval: line 61: syntax error near unexpected token `(' > >C:\Users\psusi\AppData\Local\Programs\Git/libexec/git-core\git-difftool--helper: >eval: line 61: `c:/Program Files (x86)/WinMerge/WinMergeU.exe "$LOCAL" >"$REMOTE > > >My first thought was that my shell removed the backslash escapes and >then git tried to pass the remaining command to another shell. So I >wrapped the path in single quotes, which should pass the escapes to >git, >which should pass them to the shell, which should then be able to parse > >the spaces in parenthesis in the path, but instead I got this: > >Launch 'c:/Program/ Files/ /(x86/)/WinMerge/WinMergeU.exe' > >So it appears that git is replacing backslashes with forward slashes, >then trying to pass that to the shell, which doesn't work. Any idea >how >to fix or workaround this bug? paths and executing external programs on windows is confusing and error-prone for a simple unix user such as myself. I think you might be able to work around the difficulties by making the tool available in your $PATH, that way you don't have to play shell quoting / escaping games. I hope that helps. if you discover a different solution, I'd be happy to document it so that windows users don't have to rediscover how to do it in the future. let me know how it goes. cheers -- David -- 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