Mercurial Under Cygwin

The following instructions are for the version of Mercurial included with Cygwin. The following commands are run from a cygwin bash shell window.

This version of Mercurial invokes external diff/merge tools using cygwin-style pathnames, such as /tmp/foo (which is relative to the root of the cygwin directory). These pathnames are not understood by DiffMerge. A shell script wrapper has been provided (in the same directory as the sgdm.exe executable) to translate these pathnames and launch DiffMerge.

hgext.extdiff =

cmd.diffmerge = C:/Program Files/SourceGear/Common/DiffMerge/

diffmerge.executable = C:/Program Files/SourceGear/Common/DiffMerge/
diffmerge.args = -merge -result=$output  -p1=$local -p2=$base -p3=$other
diffmerge.binary = False
diffmerge.symlinks = False
diffmerge.gui = True
diffmerge.premerge = True

Note that each of the input pathnames is associated with a /pX= option instead of being an unbound parameter.