Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to use WinMerge inside Visual Studio 2008 and Visual Source Safe 6.0?

I would like to use WinMerge as the default diff tool inside VS2008 from the solutions explorer in place of the "Compare..." context menu item. Is this possible? I'm looking for a quick replacement of the current bland diff tool an I just like WinMerge better. I'm not interested in going to the folder explorer and doing the comparison there.

I'm using Visual Source Safe 6.0 not TFS

like image 448
Tim Santeford Avatar asked Oct 07 '09 21:10

Tim Santeford


2 Answers

Yep, it's possible!

See this link: http://whyiamright.wordpress.com/2008/01/18/changing-the-diffmerge-program-used-by-visual-studio/

Tools-> Options. In the tree, choose Source Control, then the plugin of your choice (VS team Foundation, Source Safe, etc).

Click the "Configure User Tools" button, click add, then specify the appropriate extension, operation, EXE, and arguments list.

This site: has the settings for many, including winmerge: http://blogs.msdn.com/jmanning/articles/535573.aspx

EDIT: You mentioned VSS: Check out the Winmerge manual here: http://winmerge.org/docs/manual/VersionControl.html. It says how to do it about 1/5th the way down the page.

like image 119
Erich Avatar answered Nov 01 '22 22:11

Erich


I think I have this working at a serviceable level if not optimal.

in visual studio go to tools > options > source control > plug-in settings

click the "advanced" button

in the sourcesafe options dialog, switch to the "custom editors" tab

for operation, select file difference

for file extension enter .*

for command line enter

"C:\Program Files\WinMerge\WinMergeU.exe" /x /e /ub /wl /dl %6 /dr %7 %1 %2

click the "add" button then the "ok" button.

using "compare" from a file's context menu or viewing history and selecting "diff" should bring up winmerge with the file comparison. the original is on the left and the modified file is on the right (is that the right placement? should they be swapped?). if you selected a highlighted difference, you can actually sync that area at this time as well. visual studio will just recognize the file has changed and ask you to reload. I haven't gotten to the situation where I'm in an actual "merge" situation so I'm not sure what happens there. I'll update this post if I ever have more info to add.

I'm using VS2008, sourcesafe 2005, and winmerge 2.12.4 installed to the default directory. I copied the settings from this post: http://weblogs.asp.net/garrypilkington/archive/2009/12/16/winmerge-as-a-comparison-tool-in-visual-studio-2008.aspx

like image 35
lincolnk Avatar answered Nov 01 '22 23:11

lincolnk