Mercurial (Hg)

Information on configuring an external diff/merge tool can be found in:

http://www.selenic.com/mercurial/wiki/MergeToolConfiguration

http://www.selenic.com/mercurial/wiki/index.cgi/MergeProgram

http://www.selenic.com/mercurial/wiki/ExtdiffExtension

The command for comparing 2 versions of a file is hg diff foo.c. This will compare the baseline and working-folder versions of foo.c and print unified-diffs in the terminal window. If you add the settings below to your mercurial.ini or .hgrc file, you can type hg diffmerge foo.c and have DiffMerge launched to compare the 2 file versions.

The hg merge and hg resolve commands will merge files. When the settings below are added, Mercurial will try to use DiffMerge to perform the merge. There are lots of Mercurial options to control how external merge tools are selected (based upon priority and file type). Please see the above references for configuration options.