Tuesday, September 25, 2012

Comparing Files and Folders With WinMerge


Before I started working for my current employer, I hadn’t yet discovered how useful differencing tools could be. As I began working regularly with Visual SourceSafe 6 at work, I grew to value the fact that I could check for differences before every file check in. It was a standard for my employer, but to me, it was a process I was getting used to. Eventually, I realized that I needed a stand-alone comparison tool, in case Visual SourceSafe wasn’t around. This eventually lead me to a WinMerge, an open source differencing and merging tool.
Win Merge User Interface
There are numerous reasons why I like WinMerge. Most of all, I really appreciate the contextual options. With files, I can select any difference within a file, and choose to copy it from one file to the other, without leaving the application. With folders, similar functionality is available… I can copy, delete, compress, or move any given file difference from one side to the other. There are plenty additional features beyond that, but for the sake of brevity, I’ll make this simple: WinMerge is a tool I highly recommend for developers everywhere.
If you’re not yet convinced, I should probably mention that it can be used with Subversion. This works in Windows specifically, provided the TortoiseSVN shell is installed. TortoiseSVN allows the user to use an external comparison tool, rather than the built-in application, TortoiseMerge.
To register WinMerge instead of TortoiseMerge, follow the steps below:
  1. Right click anywhere in Windows Explorer, and select TortoiseSVN -> Settings.Configuring Subversion to use WinMerge as a diff viewer
  2. Expand the External Programs section.
  3. Select the Diff Viewer option.
  4. Select the External radio button in theConfigure the program used for comparing different revisions of files section.
  5. Press the [...] button to browse to point to your WinMerge executable. In my case, this was the path: C:\Program Files\WinMerge\WinMergeU.exe