diff -r fdbeacb9d456 -r d345627d104b mercurial/localrepo.py --- a/mercurial/localrepo.py Wed Apr 17 23:10:29 2019 -0700 +++ b/mercurial/localrepo.py Sat Apr 06 17:46:19 2019 +0200 @@ -1050,6 +1050,8 @@ # Signature to cached matcher instance. self._sparsematchercache = {} + self._extrafilterid = repoview.extrafilter(ui) + def _getvfsward(self, origfunc): """build a ward for self.vfs""" rref = weakref.ref(self) @@ -1197,6 +1199,9 @@ In other word, there is always only one level of `repoview` "filtering". """ + if self._extrafilterid is not None and '%' not in name: + name = name + '%' + self._extrafilterid + cls = repoview.newtype(self.unfiltered().__class__) return cls(self, name, visibilityexceptions)