view mercurial/mergeutil.py @ 34963:5e27afeddaee stable

subrepo: add config option to reject any subrepo operations (SEC) This is an alternative workaround for the issue5730. Perhaps this is the simplest way of disabling subrepo operations. It does nothing clever, but just aborts if Mercurial starts accessing to a subrepo. I think Greg's patch is more useful since it allows us to at least check out the parent repository. However, that would be confusing if the default is flipped to checkout=False and subrepos are silently ignored. I don't like the config name 'allowed', but I couldn't get any better name.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 05 Nov 2017 21:22:07 +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'))