narrow: move copies overrides to core
The copies overrides seems to have been a little complicated just by
not being in core. When moved to core, it becomes trivial (at least I
think these overrides have the same effect).
Differential Revision: https://phab.mercurial-scm.org/D4825
--- a/hgext/narrow/__init__.py Sun Sep 30 18:45:16 2018 +0300
+++ b/hgext/narrow/__init__.py Fri Sep 28 12:56:57 2018 -0700
@@ -23,7 +23,6 @@
from . import (
narrowbundle2,
narrowcommands,
- narrowcopies,
narrowrepo,
narrowtemplates,
narrowwirepeer,
@@ -65,7 +64,6 @@
if repository.NARROW_REQUIREMENT in repo.requirements:
narrowrepo.wraprepo(repo)
- narrowcopies.setup(repo)
narrowwirepeer.reposetup(repo)
templatekeyword = narrowtemplates.templatekeyword
--- a/hgext/narrow/narrowcopies.py Sun Sep 30 18:45:16 2018 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-# narrowcopies.py - extensions to mercurial copies module to support narrow
-# clones
-#
-# Copyright 2017 Google, Inc.
-#
-# 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 mercurial import (
- copies,
- extensions,
-)
-
-def setup(repo):
- def _computeforwardmissing(orig, a, b, match=None):
- missing = orig(a, b, match)
- narrowmatch = repo.narrowmatch()
- if narrowmatch.always():
- return missing
- missing = [f for f in missing if narrowmatch(f)]
- return missing
-
- def _checkcopies(orig, srcctx, dstctx, f, base, tca, remotebase, limit,
- data):
- narrowmatch = repo.narrowmatch()
- if not narrowmatch(f):
- return
- orig(srcctx, dstctx, f, base, tca, remotebase, limit, data)
-
- extensions.wrapfunction(copies, '_computeforwardmissing',
- _computeforwardmissing)
- extensions.wrapfunction(copies, '_checkcopies', _checkcopies)
--- a/mercurial/copies.py Sun Sep 30 18:45:16 2018 +0300
+++ b/mercurial/copies.py Fri Sep 28 12:56:57 2018 -0700
@@ -258,10 +258,6 @@
if u2:
repo.ui.debug("%s:\n %s\n" % (header % 'other', "\n ".join(u2)))
- narrowmatch = repo.narrowmatch()
- if not narrowmatch.always():
- u1 = [f for f in u1 if narrowmatch(f)]
- u2 = [f for f in u2 if narrowmatch(f)]
return u1, u2
def _makegetfctx(ctx):
@@ -467,8 +463,8 @@
}
# find interesting file sets from manifests
- addedinm1 = m1.filesnotin(mb)
- addedinm2 = m2.filesnotin(mb)
+ addedinm1 = m1.filesnotin(mb, repo.narrowmatch())
+ addedinm2 = m2.filesnotin(mb, repo.narrowmatch())
bothnew = sorted(addedinm1 & addedinm2)
if tca == base:
# unmatched file from base