Mutable Branches
This extension is not distributed with Mercurial.
Author: Gideon Sireling
Repository: https://github.com/accursoft/mutable-branches
1. Overview
The mutable-branches extension allows named branches to be renamed, without rewriting history. Renamings are tracked by a file in the working directory.
2. Installation
Clone the repository to your local hard drive, or simply download mutable-branches.py. Then add the following to your mercurial.ini or .hgrc:
[extensions] mutable-branches = path/to/mutable-branches.py
3. Renaming Branches
To start renaming branches, create a file called .hgbranches in the root of the working directory, and check it in. Each line in .hgbranches consists of a space-delimited pair such as oldBranch newBranch. If the branch name contains spaces, it should be quoted.
There are no changes to Mercurial's UI, other than not scolding the user when they create a new branch.
4. Local Branches
If the user creates a local branch which they do not intend pushing, it can be recorded in .hg/localbranches. Local renamings override repository renamings.
5. Future Development
Other fields could be added to .hgbranches, such as the branch's description or owner.