Mac OS comes with a GUI merge tool called FileMerge. This can be used for merges in Mercurial - Mercurial will do this if its internal merge fails. The binary for FileMerge (opendiff
) cannot be used as is, so we need to create a small shell script. You can put this script anywhere in your path, and call it hopendiff
:
#!/bin/sh `/usr/bin/opendiff "$@"`
Then modify your ~/.hgrc
and add:
[extensions] hgext.extdiff = [extdiff] cmd.opendiff = hopendiff [merge-tools] filemerge.executable = hopendiff filemerge.args = $local $other -ancestor $base -merge $output
If you already have some of those sections (like [extensions]
), then just add the corresponding lines to those sections.
That's it. When you do a merge in Mercurial, it'll open FileMerge if the internal merge fails. You can also use FileMerge for normal diffs by using hg opendiff
instead of hg diff
.