equal
deleted
inserted
replaced
1384 to be flushed when the current lock is released. Because a call to |
1384 to be flushed when the current lock is released. Because a call to |
1385 destroyed is imminent, the repo will be invalidated causing those |
1385 destroyed is imminent, the repo will be invalidated causing those |
1386 changes to stay in memory (waiting for the next unlock), or vanish |
1386 changes to stay in memory (waiting for the next unlock), or vanish |
1387 completely. |
1387 completely. |
1388 ''' |
1388 ''' |
1389 # It simplifies the logic around updating the branchheads cache if we |
|
1390 # only have to consider the effect of the stripped revisions and not |
|
1391 # revisions missing because the cache is out-of-date. |
|
1392 branchmap.updatecache(self) |
|
1393 |
|
1394 # When using the same lock to commit and strip, the phasecache is left |
1389 # When using the same lock to commit and strip, the phasecache is left |
1395 # dirty after committing. Then when we strip, the repo is invalidated, |
1390 # dirty after committing. Then when we strip, the repo is invalidated, |
1396 # causing those changes to disappear. |
1391 # causing those changes to disappear. |
1397 if '_phasecache' in vars(self): |
1392 if '_phasecache' in vars(self): |
1398 self._phasecache.write() |
1393 self._phasecache.write() |
1419 # the removed nodes now and write the updated cache. |
1414 # the removed nodes now and write the updated cache. |
1420 if '_phasecache' in self._filecache: |
1415 if '_phasecache' in self._filecache: |
1421 self._phasecache.filterunknown(self) |
1416 self._phasecache.filterunknown(self) |
1422 self._phasecache.write() |
1417 self._phasecache.write() |
1423 |
1418 |
1424 # update branchcache information likely invalidated by the strip. |
1419 # update the 'served' branch cache to help read only server process |
1425 # We rely on branchcache collaboration for this call to be fast |
1420 # Thanks to branchcach collaboration this is done from the nearest |
1426 branchmap.updatecache(self) |
1421 # filtered subset and it is expected to be fast. |
|
1422 branchmap.updatecache(self.filtered('served')) |
1427 |
1423 |
1428 # Ensure the persistent tag cache is updated. Doing it now |
1424 # Ensure the persistent tag cache is updated. Doing it now |
1429 # means that the tag cache only has to worry about destroyed |
1425 # means that the tag cache only has to worry about destroyed |
1430 # heads immediately after a strip/rollback. That in turn |
1426 # heads immediately after a strip/rollback. That in turn |
1431 # guarantees that "cachetip == currenttip" (comparing both rev |
1427 # guarantees that "cachetip == currenttip" (comparing both rev |