As they say, there is nothing to merge - instead, you should use the update:
$ hg update feature1
You can only combine different parts of the story, and here the dev-1.1
changelog is simply the ancestor of feature1
. Mercurial 2.1 says that
$ hg merge feature1 abort: nothing to merge (use 'hg update' or check 'hg heads')
in this case, and we hope that this will make the mistake clearer.
If you checked dev-1.1
(instead of tagging it), then simple
$ hg update
now (with Mercurial 2.1) will lead to updating the dev-1.1
bookmark. Therefore, if you start with
$ hg bookmarks * dev-1.1 0:b1163a24728f feature1 3:c84f04513651 feature2 2:e60dd08af282
and then update:
$ hg update 2 files updated, 0 files merged, 0 files removed, 0 files unresolved updating bookmark dev-1.1
then the bookmark is updated:
$ hg bookmarks * dev-1.1 3:c84f04513651 feature1 3:c84f04513651 feature2 2:e60dd08af282
With earlier versions you will need to do
$ hg update feature1 $ hg bookmark -f dev-1.1
This still applies if a simple hg update
does not lead you to the desired set of changes, for example, if you wanted to merge using feature2
.
The idea of ββusing merging when the story really does not diverge comes from Git. This system has the concept of quick merge, which we call an update in Mercurial.