diff -r d02f4b3e71f5 -r a410479c7ee7 mercurial/match.py --- a/mercurial/match.py Wed May 27 09:34:00 2015 -0700 +++ b/mercurial/match.py Wed May 27 11:47:55 2015 -0700 @@ -224,19 +224,18 @@ ''' if dir in self._excluderoots: return False - parentdirs = None if (self._includeroots and dir not in self._includeroots and dir not in self._includedirs): - parentdirs = list(util.finddirs(dir)) - if not any(parent in self._includeroots for parent in parentdirs): + if not any(parent in self._includeroots + for parent in util.finddirs(dir)): return False return (not self._fileroots or '.' in self._fileroots or dir in self._fileroots or dir in self._dirs or any(parentdir in self._fileroots - for parentdir in parentdirs or util.finddirs(dir))) + for parentdir in util.finddirs(dir))) def exact(self, f): '''Returns True if f is in .files().'''