This makes it possible to start using internal and archived phases
on an existing repository,
if the following is set in the configuration:
[format] internal-phase=yes
hg-reviewers |
This makes it possible to start using internal and archived phases
on an existing repository,
if the following is set in the configuration:
[format] internal-phase=yes
No Linters Available |
No Unit Test Coverage |
In D10915#166889, @Mathiasdm wrote:Retracting this one, I notice some test failures I need to have a look at.
beware that the feature is not ready for prime time as some remaining issue/question needs to be solved/answered, most notably its interraction with distributed obsolescence. I remember doing a write up about this for the sprint last november but I cannot find it.
It would indeed be interesting to see that writeup. This is the feature we miss the most to be able to enable obsolescence for all our users.
Regarding this change itself: I figured it would not harm to add upgrade-support, as it only becomes visible when the experimental parameter has been set.
In D10915#166892, @Mathiasdm wrote:It would indeed be interesting to see that writeup. This is the feature we miss the most to be able to enable obsolescence for all our users.
Regarding this change itself: I figured it would not harm to add upgrade-support, as it only becomes visible when the experimental parameter has been set.
How is this related to "enable obsolescence to all users ?"
If obsolescence is enabled, the behaviour of 'strip' is not ideal. What users typically want is the behaviour of 'hg strip --soft', as the regular 'hg strip' makes older revisions visible again.
In D10915#166894, @Mathiasdm wrote:If obsolescence is enabled, the behaviour of 'strip' is not ideal. What users typically want is the behaviour of 'hg strip --soft', as the regular 'hg strip' makes older revisions visible again.
Which is exactly the kind of behavior with hg strip --soft that will cause probleme with evolution :-D
It looks like your users wants hg prune, do they not ?
It sounded to me like 'hg prune' and 'hg strip --soft' both covered the same use case.
The main benefit to me seemed that 'hg strip --soft' doesn't require me to enable evolve for all our users. I would like to have obsolescence markers for all our users, but without a properly working 'hg strip', that wasn't possible.
In D10915#166896, @Mathiasdm wrote:It sounded to me like 'hg prune' and 'hg strip --soft' both covered the same use case.
The main benefit to me seemed that 'hg strip --soft' doesn't require me to enable evolve for all our users.
What are you trying to achive with hg strip --soft that you cannot achieve with evolve. And what are the things blokcing you from enabling evolution for all your users ?
I would like to have obsolescence markers for all our users, but without a properly working 'hg strip', that wasn't possible.
hg strip is properly working. It is doing exactly what it is documented to do :-)
hg strip --soft with evolution -is- not properly working as it is going to hide content, without hiding the associated obsmarkers, leading to indecipherable situation for users. So mixing the two is not the way to go (and one of the reason the feature is still experimental).
In D10915#166900, @marmoute wrote:In D10915#166896, @Mathiasdm wrote:It sounded to me like 'hg prune' and 'hg strip --soft' both covered the same use case.
The main benefit to me seemed that 'hg strip --soft' doesn't require me to enable evolve for all our users.What are you trying to achive with hg strip --soft that you cannot achieve with evolve. And what are the things blokcing you from enabling evolution for all your users ?
We can achieve everything with evolve, but that requires that we provide evolve everywhere and make sure it's in line with the Mercurial version used.
If evolve (or the 'hg prune' part) was shipped with Mercurial, we would probably have it enabled already.
I know that sounds like we just need to get our infrastructure set up to handle this properly (and to some degree, that's correct), but for us, it's just additional hoops to jump through, and more parts of the infrastructure that need to be synced with each other.
(If you like, we can have a call to discuss further.)
I would like to have obsolescence markers for all our users, but without a properly working 'hg strip', that wasn't possible.
hg strip is properly working. It is doing exactly what it is documented to do :-)
Agreed, but it's somewhat confusing for our users.
hg strip --soft with evolution -is- not properly working as it is going to hide content, without hiding the associated obsmarkers, leading to indecipherable situation for users. So mixing the two is not the way to go (and one of the reason the feature is still experimental).
Ok, that makes sense, thanks for clarifying.
Path | Packages | |||
---|---|---|---|---|
M | mercurial/upgrade_utils/actions.py (23 lines) | |||
M | tests/test-copies-chain-merge.t (2 lines) | |||
M | tests/test-copies-in-changeset.t (5 lines) | |||
M | tests/test-persistent-nodemap.t (3 lines) | |||
M | tests/test-sidedata.t (4 lines) | |||
M | tests/test-upgrade-repo.t (23 lines) |
Commit | Parents | Author | Summary | Date |
---|---|---|---|---|
730afa366deb | 5fa083a5ff04 | Mathias De Mare | Jun 28 2021, 8:05 AM |
b'optimal deltas; new repository data will be ' | b'optimal deltas; new repository data will be ' | ||||
b'smaller and read times should decrease; ' | b'smaller and read times should decrease; ' | ||||
b'interacting with other repositories using this ' | b'interacting with other repositories using this ' | ||||
b'storage model should require less network and ' | b'storage model should require less network and ' | ||||
b'CPU resources, making "hg push" and "hg pull" ' | b'CPU resources, making "hg push" and "hg pull" ' | ||||
b'faster' | b'faster' | ||||
) | ) | ||||
@registerformatvariant | |||||
class internalphases(requirementformatvariant): | |||||
name = b'internalphases' | |||||
_requirement = requirements.INTERNAL_PHASE_REQUIREMENT | |||||
default = False | |||||
description = _( | |||||
b'older repositories do not support ' | |||||
b'internal phases, which makes it impossible to ' | |||||
b'use features like "soft strip"' | |||||
) | |||||
upgrademessage = _( | |||||
b'repository will be able to use internal phases, ' | |||||
b'making features like "soft strip" possible' | |||||
) | |||||
touches_filelogs = False | |||||
touches_manifests = False | |||||
touches_changelog = False | |||||
touches_requirements = True | |||||
@registerformatvariant | @registerformatvariant | ||||
class sharesafe(requirementformatvariant): | class sharesafe(requirementformatvariant): | ||||
name = b'share-safe' | name = b'share-safe' | ||||
_requirement = requirements.SHARESAFE_REQUIREMENT | _requirement = requirements.SHARESAFE_REQUIREMENT | ||||
default = False | default = False | ||||
requirements.STORE_REQUIREMENT, | requirements.STORE_REQUIREMENT, | ||||
requirements.SPARSEREVLOG_REQUIREMENT, | requirements.SPARSEREVLOG_REQUIREMENT, | ||||
requirements.COPIESSDC_REQUIREMENT, | requirements.COPIESSDC_REQUIREMENT, | ||||
requirements.NODEMAP_REQUIREMENT, | requirements.NODEMAP_REQUIREMENT, | ||||
requirements.SHARESAFE_REQUIREMENT, | requirements.SHARESAFE_REQUIREMENT, | ||||
requirements.REVLOGV2_REQUIREMENT, | requirements.REVLOGV2_REQUIREMENT, | ||||
requirements.CHANGELOGV2_REQUIREMENT, | requirements.CHANGELOGV2_REQUIREMENT, | ||||
requirements.DIRSTATE_V2_REQUIREMENT, | requirements.DIRSTATE_V2_REQUIREMENT, | ||||
requirements.INTERNAL_PHASE_REQUIREMENT, | |||||
} | } | ||||
for name in compression.compengines: | for name in compression.compengines: | ||||
engine = compression.compengines[name] | engine = compression.compengines[name] | ||||
if engine.available() and engine.revlogheader(): | if engine.available() and engine.revlogheader(): | ||||
supported.add(b'exp-compression-%s' % name) | supported.add(b'exp-compression-%s' % name) | ||||
if engine.name() == b'zstd': | if engine.name() == b'zstd': | ||||
supported.add(b'revlog-compression-zstd') | supported.add(b'revlog-compression-zstd') | ||||
return supported | return supported | ||||
requirements.SPARSEREVLOG_REQUIREMENT, | requirements.SPARSEREVLOG_REQUIREMENT, | ||||
requirements.COPIESSDC_REQUIREMENT, | requirements.COPIESSDC_REQUIREMENT, | ||||
requirements.NODEMAP_REQUIREMENT, | requirements.NODEMAP_REQUIREMENT, | ||||
requirements.SHARESAFE_REQUIREMENT, | requirements.SHARESAFE_REQUIREMENT, | ||||
requirements.REVLOGV1_REQUIREMENT, | requirements.REVLOGV1_REQUIREMENT, | ||||
requirements.REVLOGV2_REQUIREMENT, | requirements.REVLOGV2_REQUIREMENT, | ||||
requirements.CHANGELOGV2_REQUIREMENT, | requirements.CHANGELOGV2_REQUIREMENT, | ||||
requirements.DIRSTATE_V2_REQUIREMENT, | requirements.DIRSTATE_V2_REQUIREMENT, | ||||
requirements.INTERNAL_PHASE_REQUIREMENT, | |||||
} | } | ||||
for name in compression.compengines: | for name in compression.compengines: | ||||
engine = compression.compengines[name] | engine = compression.compengines[name] | ||||
if engine.available() and engine.revlogheader(): | if engine.available() and engine.revlogheader(): | ||||
supported.add(b'exp-compression-%s' % name) | supported.add(b'exp-compression-%s' % name) | ||||
if engine.name() == b'zstd': | if engine.name() == b'zstd': | ||||
supported.add(b'revlog-compression-zstd') | supported.add(b'revlog-compression-zstd') | ||||
return supported | return supported |
> exp-use-copies-side-data-changeset = yes | > exp-use-copies-side-data-changeset = yes | ||||
> EOF | > EOF | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no yes no | copies-sdc: no yes no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no yes no | changelog-v2: no yes no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
> numcpus=8 | > numcpus=8 | ||||
> EOF | > EOF | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no yes no | copies-sdc: no yes no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no yes no | changelog-v2: no yes no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes |
$ cd repo | $ cd repo | ||||
#if sidedata | #if sidedata | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: yes yes no | copies-sdc: yes yes no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: yes yes no | changelog-v2: yes yes no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
compression: zstd zstd zstd (zstd !) | compression: zstd zstd zstd (zstd !) | ||||
compression-level: default default default | compression-level: default default default | ||||
#else | #else | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
downgrading | downgrading | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: yes yes no | copies-sdc: yes yes no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: yes yes no | changelog-v2: yes yes no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
> EOF | > EOF | ||||
$ hg debugupgraderepo --run --quiet --no-backup > /dev/null | $ hg debugupgraderepo --run --quiet --no-backup > /dev/null | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: yes yes no | revlog-v2: yes yes no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
> EOF | > EOF | ||||
$ hg debugupgraderepo --run --quiet --no-backup > /dev/null | $ hg debugupgraderepo --run --quiet --no-backup > /dev/null | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: yes yes no | copies-sdc: yes yes no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: yes yes no | changelog-v2: yes yes no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes |
$ hg debugformat | $ hg debugformat | ||||
format-variant repo | format-variant repo | ||||
fncache: yes | fncache: yes | ||||
dirstate-v2: no | dirstate-v2: no | ||||
dotencode: yes | dotencode: yes | ||||
generaldelta: yes | generaldelta: yes | ||||
internalphases: no | |||||
share-safe: no | share-safe: no | ||||
sparserevlog: yes | sparserevlog: yes | ||||
persistent-nodemap: yes | persistent-nodemap: yes | ||||
copies-sdc: no | copies-sdc: no | ||||
revlog-v2: no | revlog-v2: no | ||||
changelog-v2: no | changelog-v2: no | ||||
plain-cl-delta: yes | plain-cl-delta: yes | ||||
compression: zlib (no-zstd !) | compression: zlib (no-zstd !) | ||||
> use-persistent-nodemap=no | > use-persistent-nodemap=no | ||||
> EOF | > EOF | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: yes no no | persistent-nodemap: yes no no | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
> use-persistent-nodemap=yes | > use-persistent-nodemap=yes | ||||
> EOF | > EOF | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no yes no | persistent-nodemap: no yes no | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) |
$ hg init up-no-side-data --config experimental.revlogv2=no | $ hg init up-no-side-data --config experimental.revlogv2=no | ||||
$ hg debugformat -v -R up-no-side-data | $ hg debugformat -v -R up-no-side-data | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
compression: zstd zstd zstd (zstd !) | compression: zstd zstd zstd (zstd !) | ||||
compression-level: default default default | compression-level: default default default | ||||
$ hg debugformat -v -R up-no-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data | $ hg debugformat -v -R up-no-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no yes no | revlog-v2: no yes no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
compression: zstd zstd zstd (zstd !) | compression: zstd zstd zstd (zstd !) | ||||
compression-level: default default default | compression-level: default default default | ||||
$ hg debugupgraderepo -R up-no-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data > /dev/null | $ hg debugupgraderepo -R up-no-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data > /dev/null | ||||
Check that we can downgrade from sidedata | Check that we can downgrade from sidedata | ||||
----------------------------------------- | ----------------------------------------- | ||||
$ hg init up-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data | $ hg init up-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data | ||||
$ hg debugformat -v -R up-side-data | $ hg debugformat -v -R up-side-data | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: yes no no | revlog-v2: yes no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
compression: zstd zstd zstd (zstd !) | compression: zstd zstd zstd (zstd !) | ||||
compression-level: default default default | compression-level: default default default | ||||
$ hg debugformat -v -R up-side-data --config experimental.revlogv2=no | $ hg debugformat -v -R up-side-data --config experimental.revlogv2=no | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: yes no no | revlog-v2: yes no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
compression: zstd zstd zstd (zstd !) | compression: zstd zstd zstd (zstd !) | ||||
compression-level: default default default | compression-level: default default default | ||||
$ hg debugupgraderepo -R up-side-data --config experimental.revlogv2=no > /dev/null | $ hg debugupgraderepo -R up-side-data --config experimental.revlogv2=no > /dev/null |
$ hg init empty | $ hg init empty | ||||
$ cd empty | $ cd empty | ||||
$ hg debugformat | $ hg debugformat | ||||
format-variant repo | format-variant repo | ||||
fncache: yes | fncache: yes | ||||
dirstate-v2: no | dirstate-v2: no | ||||
dotencode: yes | dotencode: yes | ||||
generaldelta: yes | generaldelta: yes | ||||
internalphases: no | |||||
share-safe: no | share-safe: no | ||||
sparserevlog: yes | sparserevlog: yes | ||||
persistent-nodemap: no (no-rust !) | persistent-nodemap: no (no-rust !) | ||||
persistent-nodemap: yes (rust !) | persistent-nodemap: yes (rust !) | ||||
copies-sdc: no | copies-sdc: no | ||||
revlog-v2: no | revlog-v2: no | ||||
changelog-v2: no | changelog-v2: no | ||||
plain-cl-delta: yes | plain-cl-delta: yes | ||||
compression: zlib | compression: zlib | ||||
compression-level: default | compression-level: default | ||||
$ hg debugformat --verbose | $ hg debugformat --verbose | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
compression: zlib zlib zstd (zstd !) | compression: zlib zlib zstd (zstd !) | ||||
compression-level: default default default | compression-level: default default default | ||||
$ hg debugformat --verbose --config format.usefncache=no | $ hg debugformat --verbose --config format.usefncache=no | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes no yes | fncache: yes no yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes no yes | dotencode: yes no yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
compression: zlib zlib zstd (zstd !) | compression: zlib zlib zstd (zstd !) | ||||
compression-level: default default default | compression-level: default default default | ||||
$ hg debugformat --verbose --config format.usefncache=no --color=debug | $ hg debugformat --verbose --config format.usefncache=no --color=debug | ||||
format-variant repo config default | format-variant repo config default | ||||
[formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes] | [formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes] | ||||
[formatvariant.name.uptodate|dirstate-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|dirstate-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes] | [formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special| no][formatvariant.default| yes] | ||||
[formatvariant.name.uptodate|generaldelta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] | [formatvariant.name.uptodate|generaldelta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] | ||||
[formatvariant.name.uptodate|internalphases: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | |||||
[formatvariant.name.uptodate|share-safe: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|share-safe: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.uptodate|sparserevlog: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] | [formatvariant.name.uptodate|sparserevlog: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] | ||||
[formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] (no-rust !) | [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] (no-rust !) | ||||
[formatvariant.name.mismatchdefault|persistent-nodemap:][formatvariant.repo.mismatchdefault| yes][formatvariant.config.special| yes][formatvariant.default| no] (rust !) | [formatvariant.name.mismatchdefault|persistent-nodemap:][formatvariant.repo.mismatchdefault| yes][formatvariant.config.special| yes][formatvariant.default| no] (rust !) | ||||
[formatvariant.name.uptodate|copies-sdc: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|copies-sdc: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.uptodate|revlog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|revlog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.uptodate|changelog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|changelog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.uptodate|plain-cl-delta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] | [formatvariant.name.uptodate|plain-cl-delta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] | ||||
"config": true, | "config": true, | ||||
"default": true, | "default": true, | ||||
"name": "generaldelta", | "name": "generaldelta", | ||||
"repo": true | "repo": true | ||||
}, | }, | ||||
{ | { | ||||
"config": false, | "config": false, | ||||
"default": false, | "default": false, | ||||
"name": "internalphases", | |||||
"repo": false | |||||
}, | |||||
{ | |||||
"config": false, | |||||
"default": false, | |||||
"name": "share-safe", | "name": "share-safe", | ||||
"repo": false | "repo": false | ||||
}, | }, | ||||
{ | { | ||||
"config": true, | "config": true, | ||||
"default": true, | "default": true, | ||||
"name": "sparserevlog", | "name": "sparserevlog", | ||||
"repo": true | "repo": true | ||||
> EOF | > EOF | ||||
$ hg debugformat | $ hg debugformat | ||||
format-variant repo | format-variant repo | ||||
fncache: no | fncache: no | ||||
dirstate-v2: no | dirstate-v2: no | ||||
dotencode: no | dotencode: no | ||||
generaldelta: no | generaldelta: no | ||||
internalphases: no | |||||
share-safe: no | share-safe: no | ||||
sparserevlog: no | sparserevlog: no | ||||
persistent-nodemap: no | persistent-nodemap: no | ||||
copies-sdc: no | copies-sdc: no | ||||
revlog-v2: no | revlog-v2: no | ||||
changelog-v2: no | changelog-v2: no | ||||
plain-cl-delta: yes | plain-cl-delta: yes | ||||
compression: zlib | compression: zlib | ||||
compression-level: default | compression-level: default | ||||
$ hg debugformat --verbose | $ hg debugformat --verbose | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: no yes yes | fncache: no yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: no yes yes | dotencode: no yes yes | ||||
generaldelta: no yes yes | generaldelta: no yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: no yes yes | sparserevlog: no yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: no yes no (rust !) | persistent-nodemap: no yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
compression: zlib zlib zstd (zstd !) | compression: zlib zlib zstd (zstd !) | ||||
compression-level: default default default | compression-level: default default default | ||||
$ hg debugformat --verbose --config format.usegeneraldelta=no | $ hg debugformat --verbose --config format.usegeneraldelta=no | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: no yes yes | fncache: no yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: no yes yes | dotencode: no yes yes | ||||
generaldelta: no no yes | generaldelta: no no yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: no no yes | sparserevlog: no no yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: no yes no (rust !) | persistent-nodemap: no yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zlib zlib zlib (no-zstd !) | compression: zlib zlib zlib (no-zstd !) | ||||
compression: zlib zlib zstd (zstd !) | compression: zlib zlib zstd (zstd !) | ||||
compression-level: default default default | compression-level: default default default | ||||
$ hg debugformat --verbose --config format.usegeneraldelta=no --color=debug | $ hg debugformat --verbose --config format.usegeneraldelta=no --color=debug | ||||
format-variant repo config default | format-variant repo config default | ||||
[formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes] | [formatvariant.name.mismatchconfig|fncache: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes] | ||||
[formatvariant.name.uptodate|dirstate-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|dirstate-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes] | [formatvariant.name.mismatchconfig|dotencode: ][formatvariant.repo.mismatchconfig| no][formatvariant.config.default| yes][formatvariant.default| yes] | ||||
[formatvariant.name.mismatchdefault|generaldelta: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes] | [formatvariant.name.mismatchdefault|generaldelta: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes] | ||||
[formatvariant.name.uptodate|internalphases: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | |||||
[formatvariant.name.uptodate|share-safe: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|share-safe: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.mismatchdefault|sparserevlog: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes] | [formatvariant.name.mismatchdefault|sparserevlog: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes] | ||||
[formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] (no-rust !) | [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] (no-rust !) | ||||
[formatvariant.name.mismatchconfig|persistent-nodemap:][formatvariant.repo.mismatchconfig| no][formatvariant.config.special| yes][formatvariant.default| no] (rust !) | [formatvariant.name.mismatchconfig|persistent-nodemap:][formatvariant.repo.mismatchconfig| no][formatvariant.config.special| yes][formatvariant.default| no] (rust !) | ||||
[formatvariant.name.uptodate|copies-sdc: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|copies-sdc: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.uptodate|revlog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|revlog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.uptodate|changelog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | [formatvariant.name.uptodate|changelog-v2: ][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no] | ||||
[formatvariant.name.uptodate|plain-cl-delta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] | [formatvariant.name.uptodate|plain-cl-delta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes] | ||||
- manifest | - manifest | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
- manifest | - manifest | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
- manifest | - manifest | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
- manifest | - manifest | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: yes no no | revlog-v2: yes no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
- manifest | - manifest | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: no no no | revlog-v2: no no no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
- manifest | - manifest | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: no no no (no-rust !) | persistent-nodemap: no no no (no-rust !) | ||||
persistent-nodemap: yes yes no (rust !) | persistent-nodemap: yes yes no (rust !) | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: yes yes no | revlog-v2: yes yes no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
Upgrade to dirstate-v2 | Upgrade to dirstate-v2 | ||||
$ hg debugformat -v --config format.exp-dirstate-v2=1 | $ hg debugformat -v --config format.exp-dirstate-v2=1 | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no yes no | dirstate-v2: no yes no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: yes yes no | persistent-nodemap: yes yes no | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: yes yes no | revlog-v2: yes yes no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zstd zstd zstd | compression: zstd zstd zstd | ||||
$ ls .hg/upgradebackup.*/dirstate | $ ls .hg/upgradebackup.*/dirstate | ||||
.hg/upgradebackup.*/dirstate (glob) | .hg/upgradebackup.*/dirstate (glob) | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: yes no no | dirstate-v2: yes no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: yes yes no | persistent-nodemap: yes yes no | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: yes yes no | revlog-v2: yes yes no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zstd zstd zstd | compression: zstd zstd zstd | ||||
replaced files will be backed up at $TESTTMP/sparserevlogrepo/.hg/upgradebackup.* (glob) | replaced files will be backed up at $TESTTMP/sparserevlogrepo/.hg/upgradebackup.* (glob) | ||||
removing temporary repository $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob) | removing temporary repository $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob) | ||||
$ hg debugformat -v | $ hg debugformat -v | ||||
format-variant repo config default | format-variant repo config default | ||||
fncache: yes yes yes | fncache: yes yes yes | ||||
dirstate-v2: no no no | dirstate-v2: no no no | ||||
dotencode: yes yes yes | dotencode: yes yes yes | ||||
generaldelta: yes yes yes | generaldelta: yes yes yes | ||||
internalphases: no no no | |||||
share-safe: no no no | share-safe: no no no | ||||
sparserevlog: yes yes yes | sparserevlog: yes yes yes | ||||
persistent-nodemap: yes yes no | persistent-nodemap: yes yes no | ||||
copies-sdc: no no no | copies-sdc: no no no | ||||
revlog-v2: yes yes no | revlog-v2: yes yes no | ||||
changelog-v2: no no no | changelog-v2: no no no | ||||
plain-cl-delta: yes yes yes | plain-cl-delta: yes yes yes | ||||
compression: zstd zstd zstd | compression: zstd zstd zstd | ||||
compression-level: default default default | compression-level: default default default | ||||
$ hg status | $ hg status | ||||
#endif | #endif |