Mercurial > hg
diff mercurial/localrepo.py @ 40082:4fd0fac48922
localrepo: allow narrowmatch() to accept matcher to intersect with
It's pretty common that we need to intersect a matcher we already have
(usually from the user) with the narrow matcher. Let's make
repo.narrowmatch() take an optional matcher to intersect with.
Differential Revision: https://phab.mercurial-scm.org/D4896
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 28 Sep 2018 12:29:21 -0700 |
parents | 5c3585a58845 |
children | 41fcdfe3bfeb |
line wrap: on
line diff
--- a/mercurial/localrepo.py Fri Oct 05 01:55:51 2018 +0300 +++ b/mercurial/localrepo.py Fri Sep 28 12:29:21 2018 -0700 @@ -1200,8 +1200,14 @@ include, exclude = self.narrowpats return narrowspec.match(self.root, include=include, exclude=exclude) - # TODO(martinvonz): make this property-like instead? - def narrowmatch(self): + def narrowmatch(self, match=None): + """matcher corresponding the the repo's narrowspec + + If `match` is given, then that will be intersected with the narrow + matcher. + """ + if match: + return matchmod.intersectmatchers(match, self._narrowmatch) return self._narrowmatch def setnarrowpats(self, newincludes, newexcludes):