This is the initial release of SourceGear DiffMerge 3.0. This is the first version of a new application to visually compare and merge files and to compare folders. It runs on Windows, Mac OS X, and Linux. This is the first version to be released as a FREE stand-alone utility application. It is also bundled with SourceGear Vault 4.0 and SourceGear Fortress 1.0.

This is a new implementation of diff/merge functionality and is based upon the wxWidgets library.

This version replaces a previous Windows-only implementation that was shipped with SourceGear Vault 3.5. This version recognizes the same command line arguments as the previous version and can be used with Vault 3.5 by simply installing the Windows stand-alone version and changing the pathnames in the Program fields in the Diff/Merge section of the Vault options dialog.

File Diff and Merge Window Features:

Graphically shows interline and intraline differences between two or three files. Allows changes between files to be interactively applied using keyboard and mouse. Suports automatic three-way merge (when safe to do so) of changes between twobranched file versions into common ancestor version. Unlimited undo/redo of all edits. Displays tabs as 2, 4, or 8 spaces to save screen space. Supports extensize customization of colors used to display files and changes.

New file window features in this version not available in previous version:

Supports full interactive editing of files in addition to applying patches. Offers three display modes: everything, differences only, and differences with context. Supports file printing (and print preview) in all three display modes. Offers two views of files when editing: the currently edited version and a reference view of the files as originally loaded. Supports 'Display Invisibles' feature to show whitespace and end-of-line (EOL) characters. Supports 'Manual Alignment Markers' feature allowing vertical alignment of files to be overridden. Supports configurable 'Rulesets' feature allowing many program behaviors to be controlled based upon file type (suffix):

Allows more advanced character encoding handling of files by file type.

Supports automatic detection of Unicode files. Supports automatic fall-back to named character encoding. Allows interactive character encoding selection on a per-file basis.

Supports all EOL conventions and can ingore or respect them based upon file type. Supports case folding when matching lines. Supports ignoring whitespace when matching lines. Supports advance context handling:

Allows definition of 'Comment', 'Literal', and 'Regular' Contexts based upon file syntax. Allows changes within each type of context to be defined as 'Important' or 'Unimportant' and treated differently; for example, changes in case or whitespace within comments can be marked 'Unimportant' and handled differently than changes within string literals. Allows 'Unimportant Changes' to be highlighted, not highlighted or hidden.

Supports omitting/ignoring lines matching specified patterns (such as page headers) from the difference analysis; these may be shown or hidden from the display.

Supports 'Auto Save' feature allowing files to be automatically saved periodically. Supports 'Inter-line Smoothing' and 'Intra-line Smoothing features allowing groups of nearby changes, separated only by a short equal section, to be aggregated into a single change. Displays vertically lined up changes within files (using voids) instead of using arrows in the gutter to identify the corresponding parts. Detects when files on disk have changed and offers to reload them.

Folder Window Features:

Performs side-by-side comparison of two folders, showing which files are only present in one folder or the other, as well as file pairs which are identical or different. Can hide identical file pairs and files without peers. Recursively shows contents of sub-folders without need for other windows. Supports file suffix and folder filters to eliminate generated files from analysis. Supports extensive customization of colors used to display folder contents. Supports clicking on file pair to open in file difference window. Supports clicking on sub-folder pair to open in new folder window.

New folder window features in this version not available in previous version: