Named branches allow assigning a symbolic name to not only one certain revision, like tags allow, but they provide a mechanism to assign a name to a complete branch.

To start working on a branch which is rooted at the current working dir revision, invoke hg with:

  hg branch branchname

From this moment on, all commits will get tagged with the supplied branch name.

To get a list of all available branches, use:

  hg branches

When merging two named branches, the merge changeset will reside on the branch of the working dir. The other branches head stays.