--- 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)