I've been trying to do more branching in Mercurial and decided to use bookmarks to do it. This particular repo pushes not only to a mercurial repo, but also to a git repo via hg-git.
I'm using track.current
in my bookmarks configuration. Anyway, so I created a bookmark and did some commits
hg bookmark feature
hg update feature
hg commit ...
and then I went to merge my feature branch back into my master branch
hg update master
hg merge feature
However, at this point I get:
abort: nothing to merge
(use 'hg update' or check 'hg heads')
Looking at hg bookmarks
reveals that master and feature are indeed pointing to different revisions.
I don't understand why I'm getting this message. I also made the mistake of pushing on anyway. I didn't push the bookmark with it, so my Mercurial repo looks fine. However, hg-git picked up on the usage and made a branch in my git repo. So, now I have this very weird inconsistent source tree between the two repos. How do I fix that and how can I properly do this in the future?
master
is an ancestor offeature
, then merge will fail and the right thing to do is just movemaster
to point tofeature
. Unfortunately, this behaviour is a little inconsistent: ifmaster
is an ancestor offeature
, but they're on different named branches, merge will succeed. It would be handy to be able to force a merge changeset for revisions on the same branch. – anton.burger