mercurial/mergeutil.py
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 19 Jan 2021 14:00:42 -0800
changeset 46356 0c95b59a89f1
parent 45916 fa87536d3d70
child 46361 dfca84970da8
permissions -rw-r--r--
resolve: also detect new :mergediff conflict markers The conflict markers created by `:mergediff` were not detected as conflicts, which affects both `commands.resolve.mark-check` and `mergetools.<tool>.check`. This patch fixes that. The new regex it uses for finding conflict markers is less restrictive because it `:mergediff` doesn't follow the `<<<<<<<` and `>>>>>>>` lines by a space (and a description). Hopefully lines like that don't give too many false positives. We can add back the space and make `:mergediff` add trailing spaces if it turns out to be a problem. OTOH, there will always be some false positives and we have ways of overriding the checks already. This patch can go onto the default or stable branch, depending on how much we care about an experimental feature. Differential Revision: https://phab.mercurial-scm.org/D9835

# 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.StateError(
            _(b"unresolved merge conflicts (see 'hg help resolve')")
        )