diff -r 673ba59669b5 -r c59647c6694d mercurial/manifest.py --- a/mercurial/manifest.py Sat Dec 12 20:59:37 2015 -0800 +++ b/mercurial/manifest.py Sat Dec 12 09:57:05 2015 -0800 @@ -740,9 +740,12 @@ def _matches(self, match): '''recursively generate a new manifest filtered by the match argument. ''' + + visit = match.visitdir(self._dir[:-1] or '.') + if visit == 'all': + return self.copy() ret = treemanifest(self._dir) - - if not match.visitdir(self._dir[:-1] or '.'): + if not visit: return ret self._load()