view mercurial/mergeutil.py @ 44988:fa151f7af275

phases: improve performance of _retractboundary The old version repeatedly converts nodes to revisions, which is a moderately expensive operation. Mapping all new changes once to revisions and back at the end reduces the time spend in _retractboundary during the unbundling of NetBSD's src from 67s to 17s. Differential Revision: https://phab.mercurial-scm.org/D8641
author Joerg Sonnenberger <joerg@bec.de>
date Thu, 18 Jun 2020 22:23:22 +0200
parents 8ff1ecfadcd1
children 32ce4cbaec4b
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(
            _(b"unresolved merge conflicts (see 'hg help resolve')")
        )
    if ms.mdstate() != b's' or list(ms.driverresolved()):
        raise error.Abort(
            _(b'driver-resolved merge conflicts'),
            hint=_(b'run "hg resolve --all" to resolve'),
        )