mercurial/hg.py
changeset 28119 91a827e760df
parent 28020 cffa46cbdb8f
child 28201 60adda1a0188
--- a/mercurial/hg.py	Sun Feb 14 00:45:17 2016 +0000
+++ b/mercurial/hg.py	Sun Feb 14 01:33:55 2016 +0900
@@ -865,6 +865,7 @@
         assert isinstance(repo, localrepo.localrepository)
         self._repo = repo
         self._state, self.mtime = self._repostate()
+        self._filtername = repo.filtername
 
     def fetch(self):
         """Refresh (if necessary) and return a repository.
@@ -884,7 +885,11 @@
         if state == self._state:
             return self._repo, False
 
-        self._repo = repository(self._repo.baseui, self._repo.url())
+        repo = repository(self._repo.baseui, self._repo.url())
+        if self._filtername:
+            self._repo = repo.filtered(self._filtername)
+        else:
+            self._repo = repo.unfiltered()
         self._state = state
         self.mtime = mtime
 
@@ -912,6 +917,10 @@
         completely independent of the original.
         """
         repo = repository(self._repo.baseui, self._repo.origroot)
+        if self._filtername:
+            repo = repo.filtered(self._filtername)
+        else:
+            repo = repo.unfiltered()
         c = cachedlocalrepo(repo)
         c._state = self._state
         c.mtime = self.mtime