( )โš™ D12096 stream-clone: allow to change persistent-nodemap format during stream clone

This is an archive of the discontinued Mercurial Phabricator instance.

stream-clone: allow to change persistent-nodemap format during stream clone
ClosedPublic

Authored by marmoute on Jan 27 2022, 6:25 PM.

Details

Summary

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.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

marmoute created this revision.Jan 27 2022, 6:25 PM

"fast to general locally" in the description needs a fix. I wonder if we should introduce a new set for such features, I expect similar cases to occur in the future.

baymax edited the summary of this revision. (Show Details)Feb 2 2022, 8:35 AM
baymax updated this revision to Diff 32032.

โœ… refresh by Heptapod after a successful CI run (๐Ÿ™ ๐Ÿ’š)

Alphare accepted this revision.Feb 3 2022, 4:51 AM
This revision is now accepted and ready to land.Feb 3 2022, 4:51 AM