Skip to content

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

Last updated · 319 distilled / 1,201 read