visual-studiovisual-studio-2013mercurialatlassian-sourcetreemercurial-extension

How to use Visual Studio (vsdiffmerge) as external diff tool in SourceTree for Mercurial?


I am using Mercurial for my source control and SourceTree to manage it. I want to use Visual Studio's built in diff and merge tool (vsdiffmerge) for comparing files however this is not working.

I am currently using the following:

Diff Commands:

\"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\vsdiffmerge.exe\"

Diff Arguments:

\"$LOCAL\" \"$REMOTE\" //t

Merge Commands:

\"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\vsdiffmerge.exe\"

Merge Arguments:

\"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m

enter image description here

The Visual Studio diff tool is not getting launched. Could you please take a look?

Update:-

   We should use like below:-
   Diff Command: 
   full path of vsDiffMerge.exe
   For VS 2015 and below you can find it in the Visual Studio installation folder, under Common7\IDE subfolder. Visual Studio 2017 has it slightly more hidden. Look under Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer.


   Diff Argument: "$LOCAL" "$REMOTE" "Source" "Target" //t
   Merge Argument: $LOCAL" "$REMOTE" "$BASE" "$MERGED" //m

Solution

    1. You have a lot of useless (at least) blackslashes in commands and arguments
    2. Read Setting Up DiffMerge page, second chapter and fix own mistakes