Skip to content
SPECIFICTION
Get listed

Mercurial

mercurial-scm.org

Free plan WindowsmacOSLinuxSelf-hosted

What it is

Mercurial is a free, distributed source control system for managing development history. Each developer keeps a full local copy of that history, so work can continue without a network connection or central server. It is designed for projects of any size and supports diffs, commits, branching, and merging. The software runs on Windows, macOS, and Linux; binary releases are also listed for Solaris 11 Express and other platforms. Installation options include system packages, Windows winget, Homebrew, PyPI tools, and source builds. Python extensions can add or change commands and access core functionality. Official extensions cover tasks such as Git command mapping, email notifications, and external diff tools. Mercurial supports sparse checkout and nested repositories; large-file handling is available through an extension. It is licensed under the GNU GPL version 2 or later. One security caveat: carefully constructed Git subrepositories can pose a clone-time code-execution risk, so they are disabled by default.

Spec sheet

Integrations
Official extensions include Bugzilla hooks, Git command mapping, Git fast-export, email notifications and external diff tools.Read 30 Sep 2026 · mercurial-scm.org
Access control
The acl extension allows or denies write access to branches and paths when receiving incoming changesets.Read 30 Sep 2026 · mercurial-scm.org
Community support
Users can get help through the Matrix channel, IRC and the general Mercurial mailing list.Read 30 Sep 2026 · mercurial-scm.org
Distributed architecture
Each developer has a local copy of the entire development history and can work independently of network access or a central server.Read 30 Sep 2026 · mercurial-scm.org
Extensibility
Python extensions can add commands, change existing commands and access Mercurial core functionality.Read 30 Sep 2026 · mercurial-scm.org
Installation methods
Official installation instructions cover system packages, Windows winget, Homebrew, PyPI tools and source builds.Read 30 Sep 2026 · mercurial-scm.org
Open source license
Mercurial is licensed under the GNU General Public License version 2 or any later version.Read 30 Sep 2026 · mercurial-scm.org
Origin
Work on Mercurial began in April 2005 with a goal of efficiently managing Linux-sized trees.Read 30 Sep 2026 · mercurial-scm.org
Performance
Mercurial is designed to handle projects of any size with fast diffs, commits, branching and merging.Read 30 Sep 2026 · mercurial-scm.org
Product type
Mercurial is a free, distributed source control management tool.Read 30 Sep 2026 · mercurial-scm.org
Project governance
The Mercurial project is run by its community and coordinated by committers and reviewers under a steering committee.Read 30 Sep 2026 · mercurial-scm.org
Security limitation
Mercurial documentation warns that auditing is insufficient to prevent clone-time code execution through carefully constructed Git subrepositories, which are disabled by default.Read 30 Sep 2026 · mercurial-scm.org
Security reporting
The project provides a moderated mercurial-security mailing list for private security discussion and reporting.Read 30 Sep 2026 · mercurial-scm.org
Supported systems
Binary releases are available for Microsoft Windows, GNU/Linux, macOS, Solaris 11 Express and other platforms.Read 30 Sep 2026 · mercurial-scm.org

Plans and prices

Mercurial Free free software · GNU GPL version 2 or later Read 30 Sep 2026 · mercurial-scm.org

Every Mercurial plan and price →

Strong points and limits

Strong points

  • Local history enables work without a central server.
  • Supports branching, merging, commits, and fast diffs.
  • Python extensions can add or change commands.
  • Sparse checkout and nested repositories are supported.

Limits

  • Large-file handling requires an extension.
  • Carefully constructed Git subrepositories pose a clone-time risk.
  • Those subrepositories are disabled by default.

Who it suits

Mercurial suits developers who want distributed version control and the option to work offline. Its Python extensions and range of installation methods may also suit teams that want to customize or self-host their tooling.

Verdict

Mercurial offers distributed source control, offline work, and extension-based customization at no cost. Readers should account for the extension requirement for large files and the documented subrepository security caveat.

Where Specifiction places it

Alternatives to MercurialAll alternatives →