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.
Mercurial phases classify commits as public, draft, or secret to prevent accidental history rewriting and premature pushes to shared repositories.
Mercurial phases label each changeset as draft, secret or public to prevent accidental publication and support safe history rewriting in team workflows.
Mercurial's phases system prevents accidental history rewriting by classifying changesets as public, draft, or secret. This guide explains the mechanism with a worked example, configuration, and common mistakes.
Learn how to use Mercurial’s phases (draft, secret, public) to prevent accidental pushes of unfinished work and choose the right state for each changeset in a collaborative workflow.
Mercurial push failures and "can't rebase public changesets" errors usually trace back to the phase system. Learn to diagnose draft, secret, and public states and fix them safely.
Learn how Mercurial’s phase system lets you commit unfinished work locally, promote it when ready, and avoid accidental exposure while keeping history clean.