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 sgdm_cygwin.sh
has been provided (in the
same directory as the sgdm.exe
executable) to
translate these pathnames and launch DiffMerge.
[extensions] hgext.extdiff = [extdiff] cmd.diffmerge = C:/Program Files/SourceGear/Common/DiffMerge/sgdm_cygwin.sh [merge-tools] diffmerge.executable = C:/Program Files/SourceGear/Common/DiffMerge/sgdm_cygwin.sh 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.