wiki:WinMerge

Version 4 (modified by csherwood, 16 years ago) ( diff )

--

WinMerge

A really handy diff tool. Grab it from http://winmerge.org/

To prevent WinMerge from finding meaningless differences in Subversion files, add these commands under ...Tools...Filters..Linefilters:

^\Wsvn \WId: .*\$
^\W svn \WId: .*\$
^\W\W svn \WId: .*\$
^\W\Wsvn \WId: .*\$
^\W\Wsvn .*\$

Add this file as a filter file in c:\Program Files\Winmerge\Filters\subversion.flt and load it from the Settings..Filters menu.

## This is a directory/file filter for WinMerge
## This filter suppresses various files found in subversion
name: subversion

## This is an inclusive (loose) filter
## (it lets through everything not specified)
def: include

## Filters for filenames begin with f:
## Filters for directories begin with d:
## (Inline comments begin with " ##" and extend to the end of the line)

f: \.svn$
f: \text-base$

d: \\\Wsvn$
d: \\text-base$
d: \\.svn$
d: \\tmp$

The line filters don't work properly to eliminate comparison of lines with version control tags like ! svn $Id: in WinMerge 2.10.02.

Say your ROMS repository is in a directory called ..\my_code\, so you'll have files like ..\my_code\ROMS\Nonlinear\sediment.F. If you want to compare with ..\trunk_version\ROMS\Nonlinear\sediment.F and you start the WinMerge comparison by opening directories my_code and trunk_version, WinMerge will mark files with the svn tag with "Files are different", but when you open them, the "Files are identical" box will open.

The workaround for this annoying feature is to initiate file comparisons at a lower level. For example, dragging your branch version of ROMS and the trunk version of ROMS into WinMerge works fine.

Also, the File Compare method must be Full Contents (found under Options..Compare). This is the default. And the line filters must be checked and enabled. (Tools..Filters..Linefilters).

Note: See TracWiki for help on using the wiki.