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. It is not able to access the contents of remote repositories, so it is necessary to create a local clone first.

Preparing Merge to use the plugin

The plugin requires the Mercurial command-line client (hg.exe) to be installed and its containing directory present in the Windows system PATH environment variable.

If you wish Merge to populate the Versions button drop-down versions menu with any other revisions of the files that you are comparing, enable the Show file versions from SCM systems setting on the Application options 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://X:\Absolute\Path\To\File or hg://X:\Absolute\Path\To\File#revision.


URI Description
C:\Users\username\repository\notepad.cpp Specifies the working copy of the file notepad.cpp.
hg://C:\Users\username\repository\notepad.cpp Specifies the tip revision of the file notepad.cpp.
hg://C:\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.

Specifying the location of the Mercurial client

By default, Merge uses your Windows PATH environment to locate Mercurial. Alternatively, an absolute path to the Mercurial command executable can be specified in the Windows Registry as the HGPath string (REG_SZ) value, under the key:


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.