Mercurial > hg
view hgext/narrow/narrowpatch.py @ 38800:7790cd70842a
lfs: remove callstatus property from 'lfs()' fileset
It was added at 91aac8e6604d, but is no longer needed since a fileset
expression is now compiled into an "open" matcher. See ff5b6fca1082 for
details.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 22 Jul 2018 16:03:48 +0900 |
parents | d0d5eef57fb0 |
children |
line wrap: on
line source
# 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)