updatecaches: adds a `caches` parameters to `repo.updatecaches`
It will superseed the `full` parameters (and its `post-clone` variant from
stable). Various caller will be updated in the rest of this series.
Differential Revision: https://phab.mercurial-scm.org/D10728
--- a/mercurial/localrepo.py Mon May 17 14:41:09 2021 +0200
+++ b/mercurial/localrepo.py Mon May 17 14:45:16 2021 +0200
@@ -2732,7 +2732,7 @@
return updater
@unfilteredmethod
- def updatecaches(self, tr=None, full=False):
+ def updatecaches(self, tr=None, full=False, caches=None):
"""warm appropriate caches
If this function is called after a transaction closed. The transaction
@@ -2754,13 +2754,14 @@
unfi = self.unfiltered()
- if full:
- caches = repository.CACHES_ALL
- if full == b"post-clone":
- caches = caches.copy()
- caches.discard(repository.CACHE_FILE_NODE_TAGS)
- else:
- caches = repository.CACHES_DEFAULT
+ if caches is None:
+ if full:
+ caches = repository.CACHES_ALL
+ if full == b"post-clone":
+ caches = caches.copy()
+ caches.discard(repository.CACHE_FILE_NODE_TAGS)
+ else:
+ caches = repository.CACHES_DEFAULT
if repository.CACHE_BRANCHMAP_SERVED in caches:
if tr is None or tr.changes[b'origrepolen'] < len(self):