Re: git difftool and proper path escaping on windows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]