diff -r c50078fc32f3 -r ac42e39b1b77 mercurial/manifest.py --- a/mercurial/manifest.py Mon Apr 02 23:46:04 2018 -0700 +++ b/mercurial/manifest.py Tue Apr 03 09:58:16 2018 -0700 @@ -1303,6 +1303,9 @@ if node in self._dirmancache.get(dir, ()): return self._dirmancache[dir][node] + if not self._narrowmatch.always(): + if not self._narrowmatch.visitdir(dir[:-1] or '.'): + return excludeddirmanifestctx(dir, node) if dir: if self._revlog._treeondisk: if verify: