Show More
@@ -1246,6 +1246,13 b' class localrepository(object):' | |||
|
1246 | 1246 | delattr(self.unfiltered(), 'dirstate') |
|
1247 | 1247 | |
|
1248 | 1248 | def invalidate(self, clearfilecache=False): |
|
1249 | '''Invalidates both store and non-store parts other than dirstate | |
|
1250 | ||
|
1251 | If a transaction is running, invalidation of store is omitted, | |
|
1252 | because discarding in-memory changes might cause inconsistency | |
|
1253 | (e.g. incomplete fncache causes unintentional failure, but | |
|
1254 | redundant one doesn't). | |
|
1255 | ''' | |
|
1249 | 1256 | unfiltered = self.unfiltered() # all file caches are stored unfiltered |
|
1250 | 1257 | for k in self._filecache.keys(): |
|
1251 | 1258 | # dirstate is invalidated separately in invalidatedirstate() |
@@ -1259,7 +1266,11 b' class localrepository(object):' | |||
|
1259 | 1266 | except AttributeError: |
|
1260 | 1267 | pass |
|
1261 | 1268 | self.invalidatecaches() |
|
1262 | self.store.invalidatecaches() | |
|
1269 | if not self.currenttransaction(): | |
|
1270 | # TODO: Changing contents of store outside transaction | |
|
1271 | # causes inconsistency. We should make in-memory store | |
|
1272 | # changes detectable, and abort if changed. | |
|
1273 | self.store.invalidatecaches() | |
|
1263 | 1274 | |
|
1264 | 1275 | def invalidateall(self): |
|
1265 | 1276 | '''Fully invalidates both store and non-store parts, causing the |
General Comments 0
You need to be logged in to leave comments.
Login now