Mercurial branching and bookmarks

viraptor picture viraptor · Nov 23, 2009 · Viewed 18.9k times · Source

I read some information about named branches and working with bookmarks. Unfortunately I still don't see a difference between them. Is there any?

Is there any difference between:

hg branch blah
hg up blah

and

hg bookmark blah
hg up blah

?

Why would I use a bookmark and how is it different from a named branch?

Answer

Ry4an Brase picture Ry4an Brase · Nov 23, 2009

Bookmarks are tags that move forward automatically to subsequent changes, leaving no mark on the changesets that previously had that bookmark pointing toward them. Named branches, on the other hand, are indelible marks that are part of a changeset. Multiple heads can be on the same branch, but only one head at a time can be pointed to by the same bookmark. Named branches are pushed/pulled from repo to repo, and bookmarks don't travel.

There's a great branching comparison here: http://stevelosh.com/blog/entry/2009/8/30/a-guide-to-branching-in-mercurial/