Using Mercurial’s hg evolve to Safely Rewrite Shared History
Learn how to rewrite pushed commits safely with Mercurial’s hg evolve extension, using obsolete markers and phase management to avoid risky force pushes.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Learn how to rewrite pushed commits safely with Mercurial’s hg evolve extension, using obsolete markers and phase management to avoid risky force pushes.
Learn how Mercurial's Named Branches provide permanent lineage tracking by embedding branch metadata directly into changesets, distinguishing them from volatile pointers.
A decision guide for choosing Mercurial rebase vs merge when integrating feature branches. Covers constraints, a comparison table, trade-offs, and a hybrid rebase-then-merge workflow with commands and verification checks.
Use Mercurial's hg-evolve extension and obsolescence markers to amend pushed commits without breaking teammates' checkouts.
Learn how Mercurial’s phase system protects shared history and how the evolve extension lets you amend draft changesets while automatically rebasing descendants.
When a bug lands in the middle of your work, Mercurial’s shelve extension lets you stash uncommitted changes, pull updates, and bring your work back without committing. Learn how to enable, use, and clean up shelves in this practical guide.
Need multiple local workspaces without the storage cost of full clones? Mercurial’s `hg share` lets you reuse the repository store, keeping only separate working directories. Learn how to set up, verify, and what to watch out for.
Mercurial phases classify commits as public, draft, or secret to prevent accidental history rewriting and premature pushes to shared repositories.
Push aborts with 'push creates new remote heads'? Run read-only checks for heads, phases and incoming/outgoing, then choose merge, close-branch or local rewrite. Know when to escalate.