[PATCH 03 of 10 V2] merge: remove uses of manifest.matches
Martin von Zweigbergk
martinvonz at google.com
Wed Mar 8 12:47:23 EST 2017
On Tue, Mar 7, 2017 at 7:22 PM, Durham Goode <durham at fb.com> wrote:
> # HG changeset patch
> # User Durham Goode <durham at fb.com>
> # Date 1488940700 28800
> # Tue Mar 07 18:38:20 2017 -0800
> # Node ID ccec5eeceb85929c5df041b768d01694176b3a9d
> # Parent f70310209acbbcb4cf7cae7c38d94e15c09c1ace
> merge: remove uses of manifest.matches
>
> This gets rid of the manifest.matches calls in merge.py in favor of the new api.
> This is part of getting rid of manifest.matches since it is O(manifest).
>
> diff --git a/mercurial/merge.py b/mercurial/merge.py
> --- a/mercurial/merge.py
> +++ b/mercurial/merge.py
> @@ -27,6 +27,7 @@ from . import (
> copies,
> error,
> filemerge,
> + match as matchmod,
> obsolete,
> pycompat,
> scmutil,
> @@ -818,11 +819,10 @@ def manifestmerge(repo, wctx, p2, pa, br
> if any(wctx.sub(s).dirty() for s in wctx.substate):
> m1['.hgsubstate'] = modifiednodeid
>
> - # Compare manifests
> - if matcher is not None:
> - m1 = m1.matches(matcher)
> - m2 = m2.matches(matcher)
> - diff = m1.diff(m2)
> + diff = m1.diff(m2, match=matcher)
> +
> + if matcher is None:
> + matcher = matchmod.always('', '')
There's a condition further up that does almost the opposite, but I
can clean that up in a followup.
More information about the Mercurial-devel
mailing list