Mercurial > hg
view tests/test-revisions.t @ 48693:de3ac3d2c60b
stream-clone: allow to change persistent-nodemap format during stream clone
Persistent nodemap affect the store format. However it is fairly isolated and
fast to generate locally. So not making it a fixed part of the stream clone is
useful.
This allow clients without persistent-nodemap support (default for client
without Rust enabled, or simply older client). So it make it possible to enable
persistent nodemap on client, where it can provide a massive boost. without too
much consequence.
To do so, we stop using it in the advertisement requirements for streaming and
let the client add/remove the necessary file depending of its configuration.
We still send the files as it seems like a small save to not regenerate them.
In addition, the way we match them will overlap with the changelog-v2/revlog-v2
so we can't simply skip the associated patterns.
Differential Revision: https://phab.mercurial-scm.org/D12096
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 27 Jan 2022 22:24:11 +0100 |
parents | be3d8178251e |
children |
line wrap: on
line source
$ hg init repo $ cd repo $ echo 0 > a $ hg ci -qAm 0 $ for i in 5 8 14 43 167; do > hg up -q 0 > echo $i > a > hg ci -qm $i > done $ cat <<EOF >> .hg/hgrc > [alias] > l = log -T '{rev}:{shortest(node,1)}\n' > EOF $ hg l 5:00f 4:7ba5d 3:7ba57 2:72 1:9 0:b $ cat <<EOF >> .hg/hgrc > [experimental] > revisions.disambiguatewithin=not 4 > EOF $ hg l 5:00 4:7ba5d 3:7b 2:72 1:9 0:b 9 was unambiguous and still is $ hg l -r 9 1:9 7 was ambiguous and still is $ hg l -r 7 abort: ambiguous revision identifier: 7 [10] 7b is no longer ambiguous $ hg l -r 7b 3:7b $ cd ..