equal
deleted
inserted
replaced
237 # (used by the filecache decorator) |
237 # (used by the filecache decorator) |
238 # |
238 # |
239 # Maps a property name to its util.filecacheentry |
239 # Maps a property name to its util.filecacheentry |
240 self._filecache = {} |
240 self._filecache = {} |
241 |
241 |
|
242 # hold sets of revision to be filtered |
|
243 # should be cleared when something might have changed the filter value: |
|
244 # - new changesets, |
|
245 # - phase change, |
|
246 # - new obsolescence marker, |
|
247 # - working directory parent change, |
|
248 # - bookmark changes |
|
249 self.filteredrevcache = {} |
|
250 |
242 def close(self): |
251 def close(self): |
243 pass |
252 pass |
244 |
253 |
245 def _restrictcapabilities(self, caps): |
254 def _restrictcapabilities(self, caps): |
246 return caps |
255 return caps |
1091 del self.__dict__['_tagscache'] |
1100 del self.__dict__['_tagscache'] |
1092 |
1101 |
1093 self.unfiltered()._branchcache = None # in UTF-8 |
1102 self.unfiltered()._branchcache = None # in UTF-8 |
1094 self.unfiltered()._branchcachetip = None |
1103 self.unfiltered()._branchcachetip = None |
1095 obsolete.clearobscaches(self) |
1104 obsolete.clearobscaches(self) |
|
1105 self.filteredrevcache.clear() |
1096 |
1106 |
1097 def invalidatedirstate(self): |
1107 def invalidatedirstate(self): |
1098 '''Invalidates the dirstate, causing the next call to dirstate |
1108 '''Invalidates the dirstate, causing the next call to dirstate |
1099 to check if it was modified since the last time it was read, |
1109 to check if it was modified since the last time it was read, |
1100 rereading it if it has. |
1110 rereading it if it has. |
1856 tr = self.transaction(trname) |
1866 tr = self.transaction(trname) |
1857 for key in sorted(remoteobs, reverse=True): |
1867 for key in sorted(remoteobs, reverse=True): |
1858 if key.startswith('dump'): |
1868 if key.startswith('dump'): |
1859 data = base85.b85decode(remoteobs[key]) |
1869 data = base85.b85decode(remoteobs[key]) |
1860 self.obsstore.mergemarkers(tr, data) |
1870 self.obsstore.mergemarkers(tr, data) |
|
1871 self.filteredrevcache.clear() |
1861 if tr is not None: |
1872 if tr is not None: |
1862 tr.close() |
1873 tr.close() |
1863 finally: |
1874 finally: |
1864 if tr is not None: |
1875 if tr is not None: |
1865 tr.release() |
1876 tr.release() |
2468 |
2479 |
2469 self.ui.status(_("added %d changesets" |
2480 self.ui.status(_("added %d changesets" |
2470 " with %d changes to %d files%s\n") |
2481 " with %d changes to %d files%s\n") |
2471 % (changesets, revisions, files, htext)) |
2482 % (changesets, revisions, files, htext)) |
2472 obsolete.clearobscaches(self) |
2483 obsolete.clearobscaches(self) |
|
2484 self.filteredrevcache.clear() |
2473 |
2485 |
2474 if changesets > 0: |
2486 if changesets > 0: |
2475 p = lambda: cl.writepending() and self.root or "" |
2487 p = lambda: cl.writepending() and self.root or "" |
2476 self.hook('pretxnchangegroup', throw=True, |
2488 self.hook('pretxnchangegroup', throw=True, |
2477 node=hex(cl.node(clstart)), source=srctype, |
2489 node=hex(cl.node(clstart)), source=srctype, |