Mercurial > hg
view mercurial/mergeutil.py @ 38682:88efb7d6bcb6
phases: remove excessive optimization from newheads() (issue5939)
This function is intended to compute 'heads(::heads - roots::)', but it
failed because 'heads + parents(roots)' missed sibling branches of the roots.
That's why the public heads slipped down from D to B in the example added by
2a227782e754 "tests: add test demonstrating phase loss when cloning":
> E draft
> |\Z draft
> | Y draft
> D | public
> | X draft
> C/ public
> B public
> A public
where heads = {E, Z},
roots = {X}
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 14 Jul 2018 13:19:18 +0900 |
parents | c1149533676b |
children | 2372284d9457 |
line wrap: on
line source
# mergeutil.py - help for merge processing in mercurial # # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import from .i18n import _ from . import ( error, ) def checkunresolved(ms): if list(ms.unresolved()): raise error.Abort(_("unresolved merge conflicts " "(see 'hg help resolve')")) if ms.mdstate() != 's' or list(ms.driverresolved()): raise error.Abort(_('driver-resolved merge conflicts'), hint=_('run "hg resolve --all" to resolve'))