comparison mercurial/hg.py @ 47183:8be95673eb8a stable

cache: avoid warming the fnodetags cache after clone That cache can quite expensive to compute on large repository as not that `hg clone` is warming all cache, this can introduces a significant slowdown for clone time[1]. As a stop gap measure introduce a quick fix for that on stable, skipping the fnodetags cache post-clone. [1] https://www.mercurial-scm.org/pipermail/mercurial/2021-April/052679.html Differential Revision: https://phab.mercurial-scm.org/D10695
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 07 May 2021 10:39:58 +0200
parents 27602e030a1f
children bcafcd779d2e
comparison
equal deleted inserted replaced
47182:dff19fe2973c 47183:8be95673eb8a
1051 # here is a tiny windows were someone could end up writing the 1051 # here is a tiny windows were someone could end up writing the
1052 # repository before the cache are sure to be warm. This is "fine" 1052 # repository before the cache are sure to be warm. This is "fine"
1053 # as the only "bad" outcome would be some slowness. That potential 1053 # as the only "bad" outcome would be some slowness. That potential
1054 # slowness already affect reader. 1054 # slowness already affect reader.
1055 with destrepo.lock(): 1055 with destrepo.lock():
1056 destrepo.updatecaches(full=True) 1056 destrepo.updatecaches(full=b"post-clone")
1057 finally: 1057 finally:
1058 release(srclock, destlock) 1058 release(srclock, destlock)
1059 if cleandir is not None: 1059 if cleandir is not None:
1060 shutil.rmtree(cleandir, True) 1060 shutil.rmtree(cleandir, True)
1061 if srcpeer is not None: 1061 if srcpeer is not None: