Mercurial > hg
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: |