mergestate: add accessors for local and other nodeid, not just contexts
The mergestate can contain invalid nodeids. In that case,
`mergestate.localctx` or `mergestate.otherctx` will fail. This patch
provides a way of accessing the nodeid without failing in such cases.
Differential Revision: https://phab.mercurial-scm.org/D8040
# 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'),
)