narrow: move copies overrides to core
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 28 Sep 2018 12:56:57 -0700
changeset 39966 707c3804e607
parent 39965 1a4c1a3cc3f5
child 39967 aab43d5861bb
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
hgext/narrow/__init__.py
hgext/narrow/narrowcopies.py
mercurial/copies.py
--- 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