Using Mercurial Phases and the Evolve Extension to Rewrite Local History Safely
Learn how Mercurial’s phase system protects shared history and how the evolve extension lets you amend draft changesets while automatically rebasing descendants.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Learn how Mercurial’s phase system protects shared history and how the evolve extension lets you amend draft changesets while automatically rebasing descendants.
Compatibility decision A shared repository is being considered for history rewriting with Mercurial’s optional evolve extension. The goal is to choose an obsolescence policy that does not silently lose rewrite metadata when clones run different Mercurial releases. Mercurial 2.3 introduced persistent obsolescence markers. Clients older than that boundary may
When running concurrent hg commands, the repository’s lockfile can cause the error “abort: cannot lock repository”. The lock implementation resides in mercurial/lock.py and uses platform‑specific primitives to serialize access. While this protects data integrity, it can become a bottleneck for short‑lived commands such as hg status under heavy concurrency. T