extend changelog format to allow storing new attributes
add a .hg/branch file to indicate the branch name in the working directory
read the .hg/branch file on commit
update the .hg/branch file on checkout
- leave it alone on merge (we stay on the current branch)
add a branchtags() function to localrepo with a cache
teach lookup about branch names
teach log and friends about branch names
teach hg id about branch names
get hg pull -r <branch> working
add a command to show all existing branches
add a command to change the current branch
deprecate old -b options
if a branch is set, update should update to the tip of the current branch
merging a branch that's descended from the current branch should fast-forward
heads <branch> should show all heads of that branch
Need more smarts for the following:
- teach hgweb about branch names
- log should have an option to show the history of a single branch, stopping at its fork point (-B ?)
- updating to a revision on a different branch should require a merge (?)
- Need a way to close/hide inactive branches. One possibility: have a special branch name like 'inactive', and commit to that branch on top of the branch you want to close. Then have hg log et al. ignore any branches which are parents of any 'inactive' revisions by default.