diff -r 40cc20042fb4 -r 8ae7626d8bf1 mercurial/subrepo.py --- a/mercurial/subrepo.py Wed Feb 29 14:41:11 2012 +0100 +++ b/mercurial/subrepo.py Wed Feb 29 14:24:57 2012 +0100 @@ -500,7 +500,7 @@ anc = dst.ancestor(cur) def mergefunc(): - if anc == cur: + if anc == cur and dst.branch() == cur.branch(): self._repo.ui.debug("updating subrepo %s\n" % subrelpath(self)) hg.update(self._repo, state[1]) elif anc == dst: