hgext/narrow/narrowpatch.py
branchstable
changeset 40404 956ec6f1320d
parent 40131 535fc8a22365
parent 40403 bf249bb60087
child 40405 4185bc53d1e3
--- a/hgext/narrow/narrowpatch.py	Wed Oct 10 12:25:28 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-# narrowpatch.py - extensions to mercurial patch 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 (
-    extensions,
-    patch,
-)
-
-def setup(repo):
-    def _filepairs(orig, *args):
-        """Only includes files within the narrow spec in the diff."""
-        narrowmatch = repo.narrowmatch()
-        if not narrowmatch.always():
-            for x in orig(*args):
-                f1, f2, copyop = x
-                if ((not f1 or narrowmatch(f1)) and
-                    (not f2 or narrowmatch(f2))):
-                    yield x
-        else:
-            for x in orig(*args):
-                yield x
-
-    def trydiff(orig, repo, revs, ctx1, ctx2, modified, added, removed,
-                copy, getfilectx, *args, **kwargs):
-        narrowmatch = repo.narrowmatch()
-        if not narrowmatch.always():
-            modified = [f for f in modified if narrowmatch(f)]
-            added = [f for f in added if narrowmatch(f)]
-            removed = [f for f in removed if narrowmatch(f)]
-            copy = {k: v for k, v in copy.iteritems() if narrowmatch(k)}
-        return orig(repo, revs, ctx1, ctx2, modified, added, removed, copy,
-                    getfilectx, *args, **kwargs)
-
-    extensions.wrapfunction(patch, '_filepairs', _filepairs)
-    extensions.wrapfunction(patch, 'trydiff', trydiff)