Developer Tools
Mercurial
Free distributed source control with local history and Python extensions.
What it is
Mercurial is GPL-licensed distributed source-control software in which each normal repository copy contains local project history for offline commits, branches and merges. The Python-based core can be extended with bundled or external extensions, but hosting, review workflows, identity, backups and CI are separate choices that must explicitly support Mercurial repositories.
Key features
Local repositories
Keeps project history locally for offline commit, diff, branch and merge operations.
Clone, pull and push
Exchanges changesets between independently administered repositories.
Named branches and bookmarks
Provides multiple mechanisms for organizing lines and heads of development.
Extensions
Adds or changes commands through bundled, third-party or custom Python modules.
Strengths and trade-offs
What works well
- Distributed operation: Developers can commit and inspect full local history without a central server connection.
- Consistent core interface: The project documents a compact command model with hazardous behavior moved behind opt-in extensions.
- Extension system: Bundled and external Python extensions can add commands or alter workflows.
- Active releases: The official project page lists maintained release notes through the current release line.
Where it falls short
- Hosting not included: Access control, code review, issues and remote availability require hgweb or a compatible external service.
- Integration validation: Teams must confirm that chosen IDE, CI, deployment and hosting tools support Mercurial.
- Extension compatibility: Archived installation guidance warns that internal API changes can break extensions or dependent tools.
- Archived wiki risk: The former project wiki is explicitly marked discontinued and potentially outdated, so current docs take precedence.
Who it is for
Teams maintaining Mercurial repositories or selecting a distributed VCS after confirming compatible hosting and delivery integrations.
Our verdict
Choose Mercurial on verified workflow fit, not broad ecosystem assumptions; inventory every host, extension and CI integration, then test upgrades against that exact toolchain.
Closest alternatives we track
Same category, ordered by verified starting price.
What we checked
- Public APIOffers a documented API you can build against.No
- Mobile appHas a native app for iOS or Android, not just a mobile website.No
- Open source / self-hostableSource is open and the tool can be run on your own infrastructure.Yes
- SSO (SAML)Supports SAML single sign-on on at least one plan.No
“Not checked” means exactly that — we have not verified it, and we do not guess.
Evidence and freshness
Status: Official sources reviewedReviewed: 2026-08-24
- Mercurial — About ↗
Checked 2026-08-24 · Supports: distributed architecture, local full history, branching and merging, platform implementation, extension model, GPLv2-or-later license, current release notes
- Mercurial Help — Commands ↗
Checked 2026-08-24 · Supports: core commands, clone pull and push, commit and merge, branches and bookmarks, repository operations
- Mercurial Help — Extensions ↗
Checked 2026-08-24 · Supports: extension activation, bundled extensions, third-party extensions, configuration, compatibility responsibility
- Mercurial — 7.2 release notes ↗
Checked 2026-08-24 · Supports: 2026 maintenance releases, behavior changes, bug and corruption fixes, Python support, experimental feature boundaries, upgrade evidence
- Mercurial Wiki archive — Publishing repositories ↗
Checked 2026-08-24 · Supports: archived-document warning, hgweb publishing, temporary hg serve boundary, authentication requirement, external hosting choices
- Mercurial Wiki archive — Download ↗
Checked 2026-08-24 · Supports: archived-document warning, source packages, binary package paths, internal API stability warning, extension breakage risk
Limit: Official current pages and explicitly marked archived project documentation were reviewed; ToolCompare did not benchmark Mercurial, migrate a repository, test hosting or CI integrations, audit extensions, exercise recovery or compare team adoption with another VCS.