Here are some resources related to the Mercurial (also sometimes called Hg) revision control system.

Suggested Software

Windows Client

  • You can just install TortoiseHg since it comes with Mercurial (no need to install both separately). TortoiseHg is to Mercurial as TortoiseSVN is to Subversion.

Linux Client

  • You should use your distro's package manager to install Mercurial. See the Mercurial download page for more info.
  • TortoiseHg's Linux version provides you a Nautilus extension for GUI support.
  • See the OtherTools page in the Mercurial Wiki for more GUI client options.

Mac Client

  • Install Mercurial using the standard installer. (You can also install it from MacPorts or Fink instead if you prefer).
  • Murky and MacHg are GUI clients that visualize repository history or file differences and let you perform common tasks like committing, pushing and pulling.
  • TortoiseHg works on OS X too.

IDE Support

Issue Tracking Integration

  • Note: If we use a third-party source code hosting service, issue tracking and a wiki are usually provided as part of that package.
  • Trac has a plugin that allows changing the versioning system back-end from SVN to Mercurial

Continuous Integration Support

  • Hudson has a plugin that allows it to pull from Mercurial repositories before building.

See the OtherTools page in the Mercurial Wiki for a more comprehensive listing.

Tutorials, Guides, Documentation

The answers to the StackOverflow question How do I Use Mercurial? list some good tutorials for getting started with Mercurial. Below is a short list of good resources:

Note that the Getting Started section of the project front page has links to all of these and more.

Converting an SVN Repository to Mercurial

This method of cloning an SVN Repository into a Mercurial Repository preserves full commit history, tags and all.


In Short:

  • Make sure you're running a recent hg (at least 1.1)
  • Enable the Convert extension by adding the below to your Mercurial config file (~/.hgrc on *nix, C:\Documents and Settings\USERNAME\Mercurial.ini on Windows):
  • Make sure you have the SVN swig-python bindings (if you're missing these, see the Google Code Help document for more info):
$ python -c "import svn.core; print svn.core.SVN_VER_MINOR"
  • (Optional:) Provide a mapping of SVN usernames to full names and emails in a text file before starting the conversion (I don't think you can do this afterwards, at least very easily):
alir=Ali Rantakari <email>
patricka=Patrick Ausderau <email>
  • Start the Conversion (this will take a long time). Omit the --authors argument if you don't have a text file with the authors map:
$ hg convert --authors authors-list.txt localHgRepoDir

The conversion should automatically find the trunk, tags and branches folders from under the SVN path that you specify and use their data appropriately.

  Page Info My Prefs Log in
This page (revision-21) last changed on 18:24 25-Mar-2017 by AliRantakari.

Referenced by
M 60 Shared Space...

JSPWiki v2.4.102