Subject: RE: difftool sends malformed path to exernal tool on Windows

From: "Paul Lotz" <[email-masked]>
Date: Mon, 24 Feb 2014 09:44:23 -0700

David,

Thanks for the helpful reply.

As you suggested, I modified the .gitconfig file to have:
[difftool "test"]
	cmd = echo \"$LOCAL\" \"$REMOTE\"

and ran
$ git difftool -t test

An example of the the resulting console output is:
C:/Users/Paul/AppData/Local/Temp/I8L2Bc_WriteTestParameters.vi Commands/StartAutomatedTest/WriteTestParameters.vi

Paul

-----Original Message-----
From: David Aguilar [mailto:[email-masked]] 
Sent: Friday, February 21, 2014 3:38 AM
To: Paul Lotz
Cc: [email-masked]
Subject: Re: difftool sends malformed path to exernal tool on Windows

On Mon, Feb 17, 2014 at 03:14:01PM -0700, Paul Lotz wrote:
> From the Git Bash command line, I enter $ git difftool
> 
> and type ‘y’ when the file I want to difference appears.  Git 
> correctly calls the external diff tool (LVCompare.exe), but the path 
> for the remote file Git passes to that tool is malformed (e.g., 
> C:\/Users/Paul/AppData/Local/Temp/QCpqLa_calcLoadCellExcitation.vi).
> Obviously the \/ (backslash forwardslash) combination is incorrect.

If this is the case then difftool is not the only one with this problem.

We use the GIT_EXTERNAL_DIFF mechanism to run difftool under "git diff", so it may be that the paths are mangled by "git diff" itself.
I don't really know enough about msysgit to know for sure, though.

What do you see if you create a dummy tool which just does "echo"?

[difftool "test"]
	cmd = echo \"$LOCAL\" \"$REMOTE\"

Then run:

$ git difftool -t test

> For the record, I have successfully made calls to LVCompare.exe 
> manually from a Windows command prompt directly (without Git).
> 
> The relevant portion of the .gitconfig file is:
> [diff]
>      tool = "LVCompare"
> [difftool "LVCompare"]
>      cmd = 'C:/Program Files (x86)/National Instruments/Shared/LabVIEW 
> Compare/LVCompare.exe' \"$LOCAL\"  \"$REMOTE\"
> 
> 
> For the record, the operating system is Windows 8.1.

Do any msysgit folks know whether GIT_EXTERNAL_DIFF is a known issue?
--
David