Mercurial > hg
view hgext/strip.py @ 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 | d7a508a75d72 |
children | 6000f5b25c9b |
line wrap: on
line source
"""strip changesets and their descendants from history (DEPRECATED) The functionality of this extension has been included in core Mercurial since version 5.7. Please use :hg:`debugstrip ...` instead. This extension allows you to strip changesets and all their descendants from the repository. See the command help for details. """ from __future__ import absolute_import from mercurial import commands # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should # be specifying the version(s) of Mercurial they are tested with, or # leave the attribute unspecified. testedwith = b'ships-with-hg-core' # This is a bit ugly, but a uisetup function that defines strip as an # alias for debugstrip would override any user alias for strip, # including aliases like "strip = strip --no-backup". commands.command.rename(old=b'debugstrip', new=b'debugstrip|strip')