D4825: narrow: move copies overrides to core

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Mon Oct 1 17:01:16 UTC 2018


martinvonz created this revision.
Herald added a reviewer: durin42.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  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).

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D4825

AFFECTED FILES
  hgext/narrow/narrowcopies.py
  mercurial/copies.py

CHANGE DETAILS

diff --git a/mercurial/copies.py b/mercurial/copies.py
--- a/mercurial/copies.py
+++ b/mercurial/copies.py
@@ -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
diff --git a/hgext/narrow/narrowcopies.py b/hgext/narrow/narrowcopies.py
deleted file mode 100644
--- a/hgext/narrow/narrowcopies.py
+++ /dev/null
@@ -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)



To: martinvonz, durin42, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list