changeset 38046:ee7b6fa52d9d

narrow: filter copies in core Differential Revision: https://phab.mercurial-scm.org/D3576
author Martin von Zweigbergk <martinvonz@google.com>
date Thu, 17 May 2018 15:33:28 -0700
parents 18e6ea9ba81d
children dabc2237963c
files hgext/narrow/__init__.py hgext/narrow/narrowmerge.py mercurial/copies.py
diffstat 3 files changed, 5 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/narrow/__init__.py	Thu May 17 15:25:52 2018 -0700
+++ b/hgext/narrow/__init__.py	Thu May 17 15:33:28 2018 -0700
@@ -29,7 +29,6 @@
     narrowcommands,
     narrowcopies,
     narrowdirstate,
-    narrowmerge,
     narrowpatch,
     narrowrepo,
     narrowrevlog,
@@ -64,7 +63,6 @@
     localrepo.featuresetupfuncs.add(featuresetup)
     narrowrevlog.setup()
     narrowbundle2.setup()
-    narrowmerge.setup()
     narrowcommands.setup()
     narrowchangegroup.setup()
     narrowwirepeer.uisetup()
--- a/hgext/narrow/narrowmerge.py	Thu May 17 15:25:52 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-# narrowmerge.py - extensions to mercurial merge 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():
-    def _computenonoverlap(orig, repo, *args, **kwargs):
-        u1, u2 = orig(repo, *args, **kwargs)
-        narrowmatch = repo.narrowmatch()
-        if narrowmatch.always():
-            return u1, u2
-
-        u1 = [f for f in u1 if narrowmatch(f)]
-        u2 = [f for f in u2 if narrowmatch(f)]
-        return u1, u2
-    extensions.wrapfunction(copies, '_computenonoverlap', _computenonoverlap)
--- a/mercurial/copies.py	Thu May 17 15:25:52 2018 -0700
+++ b/mercurial/copies.py	Thu May 17 15:33:28 2018 -0700
@@ -254,6 +254,11 @@
         repo.ui.debug("%s:\n   %s\n" % (header % 'local', "\n   ".join(u1)))
     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):