SYSTEM Cited by 1 source
Mercurial¶
Mercurial (hg) is an open-source distributed version control
system created in 2005 by Matt Mackall, contemporary with
Git. Python-implemented, focused on usability and
extensibility via a plugin architecture.
For this wiki, Mercurial matters primarily as the ancestor of Sapling. Meta's Sapling began in 2012 as a Mercurial extension, then evolved into its own system "with new storage formats, wire protocols, algorithms, and behaviors."
The Evolve connection¶
Mercurial's Evolve extension is the direct inspiration for Sapling's mutation history tracking — the mechanism that lets Sapling algorithmically rebuild a commit stack after any number of amends/rebases/folds/splits. The Sapling announcement post quote:
"Inspired by Mercurial's Evolve extension, Sapling keeps track of the mutation history of each commit under the hood, allowing it to algorithmically rebuild the stack later, no matter how many times you edit the stack."
— Sapling announcement post
Stub page¶
Mercurial is referenced as historical context for Sapling; this wiki does not (yet) have deep Mercurial coverage. Future Mercurial-centric sources should extend this page with details on Mercurial's distinctive design choices (changegroup wire format, manifest store, extension API, revsets DSL, etc.).
Seen in¶
- sources/2024-09-10-meta-sapling-source-control-thats-user-friendly-and-scalable — Sapling credits Mercurial with "all their collaboration and inspiration in the early days of Sapling" and names the Evolve extension as a direct design ancestor.
Related¶
- systems/sapling-scm — the descendant VCS that diverged from Mercurial around 2012.
- systems/git — the contemporary DVCS that won the public ecosystem.
- concepts/mutation-history-commit — Mercurial Evolve's contribution to the VCS design space, adopted by Sapling.