Mercurial > hg-stable
changeset 47310:7edaf91c7886
updatecaches: use the `caches` argument instead of a special `full` value
After a clone we want to update most cachem, but not exactly all of them. We
can now cleanly express this.
Differential Revision: https://phab.mercurial-scm.org/D10730
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 17 May 2021 15:42:18 +0200 |
parents | e96f75857361 |
children | 8b2d09c7e5cd |
files | mercurial/hg.py mercurial/interfaces/repository.py mercurial/localrepo.py |
diffstat | 3 files changed, 8 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hg.py Mon May 17 15:27:29 2021 +0200 +++ b/mercurial/hg.py Mon May 17 15:42:18 2021 +0200 @@ -52,6 +52,7 @@ verify as verifymod, vfs as vfsmod, ) +from .interfaces import repository as repositorymod from .utils import ( hashutil, stringutil, @@ -1054,7 +1055,7 @@ # as the only "bad" outcome would be some slowness. That potential # slowness already affect reader. with destrepo.lock(): - destrepo.updatecaches(full=b"post-clone") + destrepo.updatecaches(caches=repositorymod.CACHES_POST_CLONE) finally: release(srclock, destlock) if cleandir is not None:
--- a/mercurial/interfaces/repository.py Mon May 17 15:27:29 2021 +0200 +++ b/mercurial/interfaces/repository.py Mon May 17 15:42:18 2021 +0200 @@ -87,6 +87,11 @@ CACHE_TAGS_SERVED, } +# the cache to warm by default on simple call +# (this is a mutable set to let extension update it) +CACHES_POST_CLONE = CACHES_ALL.copy() +CACHES_POST_CLONE.discard(CACHE_FILE_NODE_TAGS) + class ipeerconnection(interfaceutil.Interface): """Represents a "connection" to a repository.
--- a/mercurial/localrepo.py Mon May 17 15:27:29 2021 +0200 +++ b/mercurial/localrepo.py Mon May 17 15:42:18 2021 +0200 @@ -2758,8 +2758,7 @@ if full: caches = repository.CACHES_ALL if full == b"post-clone": - caches = caches.copy() - caches.discard(repository.CACHE_FILE_NODE_TAGS) + caches = repository.CACHES_POST_CLONE else: caches = repository.CACHES_DEFAULT