diff mercurial/context.py @ 40084:2cf18f46a1ce

narrow: only walk files within narrowspec also for committed revisions Narrow has been walking only paths matching the narrowspec when walking the working copy. We have not done the same filtering when walking committed revisions (e.g. "hg files -r "), which seems a little odd. Let's make it consistent. Differential Revision: https://phab.mercurial-scm.org/D4898
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 28 Sep 2018 17:09:15 -0700
parents 48a0ce67d67a
children aa41f1b01f31
line wrap: on
line diff
--- a/mercurial/context.py	Thu Sep 27 23:01:26 2018 -0700
+++ b/mercurial/context.py	Fri Sep 28 17:09:15 2018 -0700
@@ -542,7 +542,7 @@
                 return
             match.bad(fn, _('no such file in rev %s') % self)
 
-        m = matchmod.badmatch(match, bad)
+        m = matchmod.badmatch(self._repo.narrowmatch(match), bad)
         return self._manifest.walk(m)
 
     def matches(self, match):
@@ -1168,7 +1168,7 @@
 
     def walk(self, match):
         '''Generates matching file names.'''
-        return sorted(self._repo.dirstate.walk(match,
+        return sorted(self._repo.dirstate.walk(self._repo.narrowmatch(match),
                                                subrepos=sorted(self.substate),
                                                unknown=True, ignored=False))