Mercurial File System Plugin

The Merge plugin for Mercurial enables Merge to access versions of files located within a local Mercurial repository. It is included as a standard part of the Merge installation.

What you can do with the plugin

The plugin enables Merge to populate the Versions button drop-down versions menu appropriately. For more information, see Comparing Text Files (or Typed/Pasted Text).

The plugin also provides read-only access to revisions of files within a local Mercurial repository. To modify files within the repository, you will need to use one of the Mercurial tools to open, edit or submit files.

The plugin is not able to access the contents of remote repositories, so it is necessary to create a local clone of a remote repository first.

Preparing Merge to use the plugin

Merge needs to know the path to the hg executable on your machine. This can be configured on the ApplicationSCM preference page. It is recommended that you use the Mercurial executable provided by MacPorts. This is usually /opt/local/bin/hg.

If you wish Merge to populate the Versions button drop-down versions menu with any other revisions of the files that you are comparing, check the Include versions from SCM systems checkbox on the the Versions preference page.

Using the Mercurial plugin

The Mercurial plugin provides access to versions of a working copy of a version-controlled file whose path has been entered within one of the path input fields in a file comparison window. To specify a specific version of a version-controlled file for comparison, use a URI of the form hg:///Absolute/Path/To/File or hg:///Absolute/Path/To/File#revision.


URI Description
/Users/username/repository/notepad.cpp Specifies the working copy of the file notepad.cpp.
hg:///Users/username/repository/notepad.cpp Specifies the tip revision of the file notepad.cpp.
hg:///Users/username/repository/notepad.cpp#5 Specifies revision 5 of the file notepad.cpp.

Accessing files and folders already in your client workspace

If files or folders are already synced in your client workspace, you access them as you would any other file or folder on your hard disk. You do not need to use an hg:// URI to do so.

Integrating Merge with the Mercurial command-line tools and graphical front-ends

Merge itself integrates well with Mercurial. For more information, see Integrating with Source Control, Configuration Management and Other Applications.