Mercurial is an open source, free, lightweight, fast, portable and distributed Source Control Management (SCM) system and version control system specifically designed to efficient handling of very large distributed projects.
The software provides users with an easy-to-use and intuitive command-line interface, and it is currently used by a wide range of projects that require reliable, distributed and fast revision control, such as OpenSolaris, MoinMoin or Xen.
It is also very easy to learn, and it just works. Two quick start tutorials about how to clone a project and push changes, as well as to create a project and commit, are provided on the project’s homepage.
Among its command-line options, which can be viewed at a glance if you execute the ‘hg --help’ command in a terminal emulator/command prompt, we can mention the ability to add selected files on the next commit, add all new files and delete missing ones, view changeset information for each file, compress a repository revision as an unversioned archive, apply one or multiple changegroup files, copy changes between branches, or search changesets.
In addition, you can reverse the effect of previous changeset, create bookmarks, list existing bookmarks and repository named branches, list tracked files, view branch heads, import an ordered set of patches, verify the integrity of a repository, search for patterns in revisions or specified files, rename files, activate a stand-alone web server, update the working directory, create a new repository in the current directory, and much more.
Under the hood and supported OSes
Mercurial is written entirely in the Python programming language, designed from the ground up as a cross-platform software that runs well on all GNU/Linux distributions, as well as on the Microsoft Windows and Mac OS X operating systems. Both 32-bit and 64-bit architectures are supported at this time.