Skip to content

Show Difference fails with DiffMerge for file names with spaces #38

Closed
@strandloper

Description

@strandloper

I have DiffMerge configured as my diff tool as follows.

[diff]
    tool = diffmerge
[difftool "diffmerge"]
    cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" $LOCAL $REMOTE

I can use Compare with Unmodified... in the VS2013 Changes window and the diff opens in DiffMerge as expected. But when I use GitDiffMargin's Show Difference for the same file, which happens to have spaces in the path, I get DiffMerge errors like this.

File (C:\Projects\Database\DeviceConfiguration\Schemas\dynamix\Stored) not found.  File (Procedures\CopyLibraryForNewDatabase.sql) not found.

The full path to the file is

C:\Projects\Database\DeviceConfiguration\Schemas\dynamix\Stored Procedures\CopyLibraryForNewDatabase.sql

so it appears that the path is being split on the space.

I wondered if quoting the arguments to the command in .gitconfig would make a difference so I tried changing it to

[difftool "diffmerge"]
cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" \"$LOCAL\" \"$REMOTE\"

but this did not solve the problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions