Getting SourceGear DiffMerge 3.3.1 x64 to work with visual studio 2010

Problem

So SourceGear released a new version of DiffMerge, and moved around directories which caused my visual studio to throw an error when using AnkhSVN to resolve a conflict.

I’m using Windows 7 64 bit and Visual studio 2010 Ultimate with AnkhSVN as my primary source control.

Solution

In visual studio, go to Tools > Options > Source Control > Subversion User Tools. For both External Diff Tool and External Merge Tool, select DiffMerge (it will say not found). Then click the dotted button to open up the settings. Change the directory from $(ProgramFiles)SourceGearDiffMergeDiffMerge.exe”  to ”$(ProgramW6432)SourceGearCommonDiffMergesgdm.exe”. So basically, you should have this:  ”$(ProgramW6432)SourceGearCommonDiffMergesgdm.exe” “$(Base)” “$(Mine)” /t1=”$(BaseName)” /t2=”$(MineName)” $(ReadOnly?”/ro2”). Do the same for External Merge tool.

DiffMerge is moved to the folder : C:Program FilesSourceGearCommonDiffMergesgdm.exe and also renamed to sgdm.exe. $(ProgramW6432) checks in both 64bit and 32 bit folders whilst $(ProgramFiles) checks only the 32bit folder, since visual studio is also 32 bit.