|
Jump to: Software All product reviews |
|
Whenever you're working with source codes in a source code repository or other files spread around in a network, you might have encountered the situation that you had to compare two folder structures or two files in order to determinate what has been changed and what to copy from A to B.
WinMerge is one of those tools that can help you to get a better overview of those changes.
The tested version of WinMerge is 2.12.2.
Integration and functions
WinMerge does not directly integrate into Visual Studio. Nevertheless, if you're using a source code repository, it should be possible to configure your repository provider (SCC) to use WinMerge as the default diff-tool.
If you don't already know which files in your source tree have changed, a good idea is to get an overview of the folders that contain changes. To do so, you right-click in you file browser to display the context menu where you'll find an entry for WinMerge. Clicking onto that entry opens WinMerge.

Picture 1 The context menu containing the WinMerge entry
It opens with the Select Files or Folders dialog, which lets you select a second folder which is then used to compare. To narrow down the number of files to compare, you can either select one of the pre-defined filters or create your own file filter.

Picture 2 Select the second folder in this dialog

Picture 3 Select one of the many file filters to narrow down the number of files to compare
Make sure to check the Include Subfolders to include the complete source code tree and not only the currently selected folders. OK starts the compare process which finally will show the list of files that differ in the two locations.
This first overview of the files that differ is not as I would like to see it. In fact, while the view itself can be altered and filtered through the View menu of the window, the list itself is not very clear. If you take a look at picture 4, you'll see the root folder names on disk F and J. But the information concerning the files of those root folders is not underneath the top folder display. In fact, the list of Filename, Folder, Dates, etc does not change when you change your window size but remains static.
This results into having information such as the Right Date column not being underneath the right folder name. If you, as I do, adjust constantly the window size to get as much information as possible onto your screen using different applications, it's impossible to distinguish clearly which information belongs where with a short glimpse. You really have to concentrate onto the view and read each line to grasp the information.

Picture 4 The file overview is not as clear as it could be.
I'd not say that the folder compare is useless, but not getting a clear idea fast is somewhat disturbing. Nevertheless, you can regroup the information using the report header to i.e. group them by comparison result.
While there are some icons concerning the compare result of a file (i.e. icons for identical files, differing files, etc.), they are on the very left of the compare result line. A better solution for this view would have been to clearly separate the left and right folder information and use some bigger icons in between them to depict the compare result.
Via the toolbar on the top of the window, you can copy files from left to right or the other way around.
The folder compare result can be used to directly access the files that are different. If you double click onto a file, the files within the two locations are opened in a new tab containing the diff view. Using tabs to manage different compares is a smart choice here because you can quickly jump between i.e. the folder compare and the file compare.
The diff view has nothing spectacular. On the left you can see the location pane, on the right the file diff.

Picture 5 Comparing two files
WinMerge tries to match the lines of the two files by filling the missing lines with empty space. The result is that similar lines are side-by-side. However sometimes, in complex files, this fails when a lot of changes have occurred and the result is a total mess to read where you have to compare line by line to understand what is actually happening on screen.
What I like is the fact that the diff is coded through different colours. This way you can clearly distinguish moved lines, word and line differences. Copying part of the file difference is as easy as selecting the difference through double clicking onto it and clicking Copy left or Copy right in the top menu.
The view also enables you to directly alter the file. A simple click to a location shows the cursor and you can start typing. Unfortunately, before you can see the difference that your newly entered text makes, you have to click refresh in the tool menu. It doesn't display the appropriate colouring as long as you type.
Options
WinMerge has a quite extensive list of options that can help you to configure it the way you want. From syntax highlighting and difference colouring to configuring a version control or the shell integration almost everything is optional.

Picture 6 The options
Unfortunately you cannot alter information such as the default font or its default size. This option is only available once you directly compare two files and you use the View menu and select the Zoom entries (or the key combinations) or the Set font menu point. I'd rather search for this option in the Options instead of the View menu.
Pricing
WinMerge is an open source project and thus, it comes with no costs. It's licensed under the GNU General Public License.
Pros:
Cons:
Links: