[Updated] D9765: persistent-nodemap: enable the feature by default when using Rust
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Fri Apr 9 03:38:10 UTC 2021
Herald added a reviewer: durin42.
marmoute updated this revision to Diff 26747.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D9765?vs=24835&id=26747
BRANCH
default
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D9765/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D9765
AFFECTED FILES
mercurial/configitems.py
mercurial/helptext/config.txt
tests/test-bundle.t
tests/test-clone-uncompressed.t
tests/test-clonebundles.t
tests/test-copies-chain-merge.t
tests/test-copies-in-changeset.t
tests/test-debugcommands.t
tests/test-hgweb-commands.t
tests/test-init.t
tests/test-lfconvert.t
tests/test-lfs-largefiles.t
tests/test-narrow-clone-no-ellipsis.t
tests/test-narrow-clone-stream.t
tests/test-narrow-clone.t
tests/test-narrow-sparse.t
tests/test-persistent-nodemap.t
tests/test-phases.t
tests/test-remotefilelog-clone-tree.t
tests/test-remotefilelog-clone.t
tests/test-remotefilelog-log.t
tests/test-repo-compengines.t
tests/test-requires.t
tests/test-revlog-v2.t
tests/test-rhg.t
tests/test-sidedata.t
tests/test-sparse-requirement.t
tests/test-sqlitestore.t
tests/test-ssh-bundle1.t
tests/test-ssh.t
tests/test-stream-bundle-v2.t
tests/test-treemanifest.t
tests/test-upgrade-repo.t
CHANGE DETAILS
diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t
--- a/tests/test-upgrade-repo.t
+++ b/tests/test-upgrade-repo.t
@@ -61,7 +61,8 @@
generaldelta: yes
share-safe: no
sparserevlog: yes
- persistent-nodemap: no
+ persistent-nodemap: no (no-rust !)
+ persistent-nodemap: yes (rust !)
copies-sdc: no
revlog-v2: no
plain-cl-delta: yes
@@ -74,7 +75,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -88,7 +90,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -102,7 +105,8 @@
[formatvariant.name.uptodate|generaldelta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
[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|persistent-nodemap:][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
+ [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.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|plain-cl-delta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
@@ -142,10 +146,12 @@
"repo": true
},
{
- "config": false,
+ "config": false, (no-rust !)
+ "config": true, (rust !)
"default": false,
"name": "persistent-nodemap",
- "repo": false
+ "repo": false (no-rust !)
+ "repo": true (rust !)
},
{
"config": false,
@@ -184,7 +190,8 @@
performing an upgrade with "--run" will make the following changes:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
processed revlogs:
- all-filelogs
@@ -208,7 +215,8 @@
$ hg debugupgraderepo --quiet
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
processed revlogs:
- all-filelogs
@@ -223,7 +231,8 @@
performing an upgrade with "--run" will make the following changes:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
optimisations: re-delta-parent
@@ -254,7 +263,8 @@
performing an upgrade with "--run" will make the following changes:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
optimisations: re-delta-parent
@@ -279,7 +289,8 @@
$ hg debugupgrade --optimize re-delta-parent --quiet
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
optimisations: re-delta-parent
@@ -323,7 +334,8 @@
generaldelta: no yes yes
share-safe: no no no
sparserevlog: no yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: no yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -337,7 +349,8 @@
generaldelta: no no yes
share-safe: no no no
sparserevlog: no no yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: no yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -351,7 +364,8 @@
[formatvariant.name.mismatchdefault|generaldelta: ][formatvariant.repo.mismatchdefault| no][formatvariant.config.special| no][formatvariant.default| yes]
[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.uptodate|persistent-nodemap:][formatvariant.repo.uptodate| no][formatvariant.config.default| no][formatvariant.default| no]
+ [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.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|plain-cl-delta: ][formatvariant.repo.uptodate| yes][formatvariant.config.default| yes][formatvariant.default| yes]
@@ -373,12 +387,16 @@
sparserevlog
in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
+ persistent-nodemap (rust !)
+ persist the node -> rev mapping on disk to speedup lookup (rust !)
+ (rust !)
performing an upgrade with "--run" will make the following changes:
requirements
preserved: revlogv1, store
- added: dotencode, fncache, generaldelta, sparserevlog
+ added: dotencode, fncache, generaldelta, sparserevlog (no-rust !)
+ added: dotencode, fncache, generaldelta, persistent-nodemap, sparserevlog (rust !)
fncache
repository will be more resilient to storing certain paths and performance of certain operations should be improved
@@ -392,6 +410,9 @@
sparserevlog
Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server.
+ persistent-nodemap (rust !)
+ Speedup revision lookup by node id. (rust !)
+ (rust !)
processed revlogs:
- all-filelogs
- changelog
@@ -414,7 +435,8 @@
$ hg debugupgraderepo --quiet
requirements
preserved: revlogv1, store
- added: dotencode, fncache, generaldelta, sparserevlog
+ added: dotencode, fncache, generaldelta, sparserevlog (no-rust !)
+ added: dotencode, fncache, generaldelta, persistent-nodemap, sparserevlog (rust !)
processed revlogs:
- all-filelogs
@@ -434,6 +456,9 @@
sparserevlog
in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
+ persistent-nodemap (rust !)
+ persist the node -> rev mapping on disk to speedup lookup (rust !)
+ (rust !)
repository lacks features used by the default config options:
dotencode
@@ -444,7 +469,8 @@
requirements
preserved: revlogv1, store
- added: fncache, generaldelta, sparserevlog
+ added: fncache, generaldelta, sparserevlog (no-rust !)
+ added: fncache, generaldelta, persistent-nodemap, sparserevlog (rust !)
fncache
repository will be more resilient to storing certain paths and performance of certain operations should be improved
@@ -455,6 +481,9 @@
sparserevlog
Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server.
+ persistent-nodemap (rust !)
+ Speedup revision lookup by node id. (rust !)
+ (rust !)
processed revlogs:
- all-filelogs
- changelog
@@ -513,7 +542,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, revlogv1, store
+ preserved: dotencode, fncache, revlogv1, store (no-rust !)
+ preserved: dotencode, fncache, persistent-nodemap, revlogv1, store (rust !)
added: generaldelta
generaldelta
@@ -554,6 +584,7 @@
$ cat .hg/upgradebackup.*/requires
dotencode
fncache
+ persistent-nodemap (rust !)
revlogv1
store
@@ -563,6 +594,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlogv1
store
@@ -614,7 +646,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
added: sparserevlog
sparserevlog
@@ -655,7 +688,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
optimisations: re-delta-parent
@@ -732,7 +766,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
optimisations: re-delta-parent
@@ -782,7 +817,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
optimisations: re-delta-parent
@@ -831,7 +867,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
optimisations: re-delta-parent
@@ -884,7 +921,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
removed: sparserevlog
optimisations: re-delta-parent
@@ -938,7 +976,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
added: sparserevlog
optimisations: re-delta-parent
@@ -1003,7 +1042,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
optimisations: re-delta-fulladd
@@ -1066,6 +1106,7 @@
fncache
generaldelta
largefiles
+ persistent-nodemap (rust !)
revlogv1
sparserevlog
store
@@ -1077,6 +1118,7 @@
fncache
generaldelta
largefiles
+ persistent-nodemap (rust !)
revlogv1
sparserevlog
store
@@ -1166,7 +1208,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
optimisations: re-delta-all
@@ -1226,6 +1269,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlogv1
store
@@ -1234,7 +1278,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
added: sparserevlog
processed revlogs:
@@ -1246,6 +1291,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlogv1
sparserevlog
store
@@ -1255,7 +1301,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
removed: sparserevlog
processed revlogs:
@@ -1267,6 +1314,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlogv1
store
@@ -1281,7 +1329,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
added: revlog-compression-zstd, sparserevlog
processed revlogs:
@@ -1296,7 +1345,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -1307,6 +1357,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd
revlogv1
sparserevlog
@@ -1318,7 +1369,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
removed: revlog-compression-zstd
processed revlogs:
@@ -1333,7 +1385,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -1344,6 +1397,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlogv1
sparserevlog
store
@@ -1358,7 +1412,8 @@
upgrade will perform the following actions:
requirements
- preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
added: revlog-compression-zstd
processed revlogs:
@@ -1373,7 +1428,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -1384,6 +1440,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd
revlogv1
sparserevlog
@@ -1401,7 +1458,8 @@
requirements
preserved: dotencode, fncache, generaldelta, store (no-zstd !)
- preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd !)
+ preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store (rust !)
removed: revlogv1
added: exp-revlogv2.2, exp-sidedata-flag (zstd !)
added: exp-revlogv2.2, exp-sidedata-flag, sparserevlog (no-zstd !)
@@ -1418,7 +1476,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: yes no no
plain-cl-delta: yes yes yes
@@ -1431,6 +1490,7 @@
exp-sidedata-flag
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
sparserevlog
store
@@ -1446,7 +1506,8 @@
requirements
preserved: dotencode, fncache, generaldelta, sparserevlog, store (no-zstd !)
- preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd !)
+ preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store (rust !)
removed: exp-revlogv2.2, exp-sidedata-flag
added: revlogv1
@@ -1462,7 +1523,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -1473,6 +1535,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -1490,7 +1553,8 @@
requirements
preserved: dotencode, fncache, generaldelta, sparserevlog, store (no-zstd !)
- preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd !)
+ preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd no-rust !)
+ preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store (rust !)
removed: revlogv1
added: exp-revlogv2.2, exp-sidedata-flag
@@ -1506,7 +1570,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: yes yes no
plain-cl-delta: yes yes yes
@@ -1519,6 +1584,7 @@
exp-sidedata-flag
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
sparserevlog
store
diff --git a/tests/test-treemanifest.t b/tests/test-treemanifest.t
--- a/tests/test-treemanifest.t
+++ b/tests/test-treemanifest.t
@@ -834,9 +834,11 @@
$ hg -R deeprepo debugcreatestreamclonebundle repo-packed.hg
writing 5330 bytes for 18 files (no-zstd !)
writing 5400 bytes for 18 files (zstd !)
- bundle requirements: generaldelta, revlogv1, sparserevlog, treemanifest
+ bundle requirements: generaldelta, revlogv1, sparserevlog, treemanifest (no-rust !)
+ bundle requirements: generaldelta, persistent-nodemap, revlogv1, sparserevlog, treemanifest (rust !)
$ hg debugbundle --spec repo-packed.hg
- none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Csparserevlog%2Ctreemanifest
+ none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Csparserevlog%2Ctreemanifest (no-rust !)
+ none-packed1;requirements%3Dgeneraldelta%2Cpersistent-nodemap%2Crevlogv1%2Csparserevlog%2Ctreemanifest (rust !)
#endif
diff --git a/tests/test-stream-bundle-v2.t b/tests/test-stream-bundle-v2.t
--- a/tests/test-stream-bundle-v2.t
+++ b/tests/test-stream-bundle-v2.t
@@ -47,10 +47,12 @@
$ hg debugbundle bundle.hg
Stream params: {}
stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) (no-zstd !)
- stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) (zstd !)
+ stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) (zstd no-rust !)
+ stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Cpersistent-nodemap%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) (rust !)
$ hg debugbundle --spec bundle.hg
none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Csparserevlog%2Cstore (no-zstd !)
- none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore (zstd !)
+ none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore (zstd no-rust !)
+ none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Cpersistent-nodemap%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore (rust !)
Test that we can apply the bundle as a stream clone bundle
diff --git a/tests/test-ssh.t b/tests/test-ssh.t
--- a/tests/test-ssh.t
+++ b/tests/test-ssh.t
@@ -542,9 +542,11 @@
devel-peer-request: pairs: 81 bytes
sending hello command
sending between command
- remote: 444 (sshv1 !)
+ remote: 444 (sshv1 no-rust !)
+ remote: 463 (sshv1 rust !)
protocol upgraded to exp-ssh-v2-0003 (sshv2 !)
- remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
+ remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-rust !)
+ remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,persistent-nodemap,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (rust !)
remote: 1 (sshv1 !)
devel-peer-request: protocaps
devel-peer-request: caps: * bytes (glob)
diff --git a/tests/test-ssh-bundle1.t b/tests/test-ssh-bundle1.t
--- a/tests/test-ssh-bundle1.t
+++ b/tests/test-ssh-bundle1.t
@@ -486,9 +486,11 @@
sending upgrade request: * proto=exp-ssh-v2-0003 (glob) (sshv2 !)
sending hello command
sending between command
- remote: 444 (sshv1 !)
+ remote: 444 (sshv1 no-rust !)
+ remote: 463 (sshv1 rust !)
protocol upgraded to exp-ssh-v2-0003 (sshv2 !)
- remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
+ remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-rust !)
+ remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,persistent-nodemap,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (rust !)
remote: 1 (sshv1 !)
sending protocaps command
preparing listkeys for "bookmarks"
diff --git a/tests/test-sqlitestore.t b/tests/test-sqlitestore.t
--- a/tests/test-sqlitestore.t
+++ b/tests/test-sqlitestore.t
@@ -17,6 +17,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -32,6 +33,7 @@
exp-sqlite-comp-001=$BUNDLE2_COMPRESSIONS$ (no-zstd !)
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -51,6 +53,7 @@
exp-sqlite-comp-001=$BUNDLE2_COMPRESSIONS$
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -65,6 +68,7 @@
exp-sqlite-comp-001=none
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-sparse-requirement.t b/tests/test-sparse-requirement.t
--- a/tests/test-sparse-requirement.t
+++ b/tests/test-sparse-requirement.t
@@ -20,6 +20,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -39,6 +40,7 @@
exp-sparse
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -59,6 +61,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-sidedata.t b/tests/test-sidedata.t
--- a/tests/test-sidedata.t
+++ b/tests/test-sidedata.t
@@ -56,7 +56,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -70,7 +71,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: no yes no
plain-cl-delta: yes yes yes
@@ -90,7 +92,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: yes no no
plain-cl-delta: yes yes yes
@@ -104,7 +107,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: yes no no
plain-cl-delta: yes yes yes
diff --git a/tests/test-rhg.t b/tests/test-rhg.t
--- a/tests/test-rhg.t
+++ b/tests/test-rhg.t
@@ -176,6 +176,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -202,7 +203,7 @@
Persistent nodemap
$ cd $TESTTMP
$ rm -rf repository
- $ hg init repository
+ $ hg --config format.use-persistent-nodemap=no init repository
$ cd repository
$ $NO_FALLBACK rhg debugrequirements | grep nodemap
[1]
diff --git a/tests/test-revlog-v2.t b/tests/test-revlog-v2.t
--- a/tests/test-revlog-v2.t
+++ b/tests/test-revlog-v2.t
@@ -24,6 +24,7 @@
dotencode
exp-revlogv2.2
fncache
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
sparserevlog
store
diff --git a/tests/test-requires.t b/tests/test-requires.t
--- a/tests/test-requires.t
+++ b/tests/test-requires.t
@@ -53,6 +53,7 @@
featuresetup-test
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-repo-compengines.t b/tests/test-repo-compengines.t
--- a/tests/test-repo-compengines.t
+++ b/tests/test-repo-compengines.t
@@ -13,6 +13,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlogv1
sparserevlog
store
@@ -61,6 +62,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlogv1
sparserevlog
store
@@ -79,6 +81,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd
revlogv1
sparserevlog
@@ -182,6 +185,7 @@
exp-compression-none
fncache
generaldelta
+ persistent-nodemap (rust !)
revlogv1
sparserevlog
store
diff --git a/tests/test-remotefilelog-log.t b/tests/test-remotefilelog-log.t
--- a/tests/test-remotefilelog-log.t
+++ b/tests/test-remotefilelog-log.t
@@ -30,6 +30,7 @@
exp-remotefilelog-repo-req-1
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-remotefilelog-clone.t b/tests/test-remotefilelog-clone.t
--- a/tests/test-remotefilelog-clone.t
+++ b/tests/test-remotefilelog-clone.t
@@ -27,6 +27,7 @@
exp-remotefilelog-repo-req-1
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -62,6 +63,7 @@
exp-remotefilelog-repo-req-1
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -112,6 +114,7 @@
exp-remotefilelog-repo-req-1
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-remotefilelog-clone-tree.t b/tests/test-remotefilelog-clone-tree.t
--- a/tests/test-remotefilelog-clone-tree.t
+++ b/tests/test-remotefilelog-clone-tree.t
@@ -30,6 +30,7 @@
exp-remotefilelog-repo-req-1
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -72,6 +73,7 @@
exp-remotefilelog-repo-req-1
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -114,6 +116,7 @@
exp-remotefilelog-repo-req-1
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-phases.t b/tests/test-phases.t
--- a/tests/test-phases.t
+++ b/tests/test-phases.t
@@ -886,6 +886,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -914,6 +915,7 @@
fncache
generaldelta
internal-phase
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-persistent-nodemap.t b/tests/test-persistent-nodemap.t
--- a/tests/test-persistent-nodemap.t
+++ b/tests/test-persistent-nodemap.t
@@ -2,6 +2,9 @@
Test the persistent on-disk nodemap
===================================
+
+#if no-rust
+
$ cat << EOF >> $HGRCPATH
> [format]
> use-persistent-nodemap=yes
@@ -9,6 +12,8 @@
> persistent-nodemap=yes
> EOF
+#endif
+
$ hg init test-repo --config storage.revlog.persistent-nodemap.slow-path=allow
$ cd test-repo
diff --git a/tests/test-narrow-sparse.t b/tests/test-narrow-sparse.t
--- a/tests/test-narrow-sparse.t
+++ b/tests/test-narrow-sparse.t
@@ -61,6 +61,7 @@
fncache
generaldelta
narrowhg-experimental
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-narrow-clone.t b/tests/test-narrow-clone.t
--- a/tests/test-narrow-clone.t
+++ b/tests/test-narrow-clone.t
@@ -42,6 +42,7 @@
dotencode
fncache
narrowhg-experimental
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-narrow-clone-stream.t b/tests/test-narrow-clone-stream.t
--- a/tests/test-narrow-clone-stream.t
+++ b/tests/test-narrow-clone-stream.t
@@ -68,6 +68,7 @@
fncache (flat-fncache !)
generaldelta
narrowhg-experimental
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-narrow-clone-no-ellipsis.t b/tests/test-narrow-clone-no-ellipsis.t
--- a/tests/test-narrow-clone-no-ellipsis.t
+++ b/tests/test-narrow-clone-no-ellipsis.t
@@ -26,6 +26,7 @@
dotencode
fncache
narrowhg-experimental
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-lfs-largefiles.t b/tests/test-lfs-largefiles.t
--- a/tests/test-lfs-largefiles.t
+++ b/tests/test-lfs-largefiles.t
@@ -293,6 +293,7 @@
fncache
generaldelta
lfs
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-lfconvert.t b/tests/test-lfconvert.t
--- a/tests/test-lfconvert.t
+++ b/tests/test-lfconvert.t
@@ -99,6 +99,7 @@
fncache
generaldelta
largefiles
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-init.t b/tests/test-init.t
--- a/tests/test-init.t
+++ b/tests/test-init.t
@@ -21,6 +21,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -60,6 +61,7 @@
$ hg --config format.usestore=false init old
$ checknewrepo old
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
testonly-simplestore (reposimplestore !)
@@ -72,6 +74,7 @@
store created
00changelog.i created
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -86,6 +89,7 @@
00changelog.i created
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -100,6 +104,7 @@
00changelog.i created
dotencode
fncache
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
store
@@ -218,6 +223,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -239,6 +245,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
@@ -256,6 +263,7 @@
dotencode
fncache
generaldelta
+ persistent-nodemap (rust !)
revlog-compression-zstd (zstd !)
revlogv1
sparserevlog
diff --git a/tests/test-hgweb-commands.t b/tests/test-hgweb-commands.t
--- a/tests/test-hgweb-commands.t
+++ b/tests/test-hgweb-commands.t
@@ -2193,7 +2193,8 @@
lookup
pushkey
stream-preferred
- streamreqs=generaldelta,revlogv1,sparserevlog
+ streamreqs=generaldelta,revlogv1,sparserevlog (no-rust !)
+ streamreqs=generaldelta,persistent-nodemap,revlogv1,sparserevlog (rust !)
unbundle=HG10GZ,HG10BZ,HG10UN
unbundlehash
diff --git a/tests/test-debugcommands.t b/tests/test-debugcommands.t
--- a/tests/test-debugcommands.t
+++ b/tests/test-debugcommands.t
@@ -186,8 +186,10 @@
node trie capacity: 4
node trie count: 2
node trie depth: 1
- node trie last rev scanned: -1
- node trie lookups: 4
+ node trie last rev scanned: -1 (no-rust !)
+ node trie last rev scanned: 3 (rust !)
+ node trie lookups: 4 (no-rust !)
+ node trie lookups: 2 (rust !)
node trie misses: 1
node trie splits: 1
revs in memory: 3
@@ -654,8 +656,10 @@
devel-peer-request: pairs: 81 bytes
sending hello command
sending between command
- remote: 444
- remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
+ remote: 444 (no-rust !)
+ remote: 463 (rust !)
+ remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-rust !)
+ remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,persistent-nodemap,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (rust !)
remote: 1
devel-peer-request: protocaps
devel-peer-request: caps: * bytes (glob)
diff --git a/tests/test-copies-in-changeset.t b/tests/test-copies-in-changeset.t
--- a/tests/test-copies-in-changeset.t
+++ b/tests/test-copies-in-changeset.t
@@ -39,7 +39,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: yes yes no
revlog-v2: yes yes no
plain-cl-delta: yes yes yes
@@ -54,7 +55,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: no no no
plain-cl-delta: yes yes yes
@@ -426,7 +428,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: yes yes no
revlog-v2: yes yes no
plain-cl-delta: yes yes yes
@@ -453,7 +456,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no no no
revlog-v2: yes yes no
plain-cl-delta: yes yes yes
@@ -482,7 +486,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: yes yes no
revlog-v2: yes yes no
plain-cl-delta: yes yes yes
diff --git a/tests/test-copies-chain-merge.t b/tests/test-copies-chain-merge.t
--- a/tests/test-copies-chain-merge.t
+++ b/tests/test-copies-chain-merge.t
@@ -1628,7 +1628,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no yes no
revlog-v2: no yes no
plain-cl-delta: yes yes yes
@@ -1667,7 +1668,8 @@
generaldelta: yes yes yes
share-safe: no no no
sparserevlog: yes yes yes
- persistent-nodemap: no no no
+ persistent-nodemap: no no no (no-rust !)
+ persistent-nodemap: yes yes no (rust !)
copies-sdc: no yes no
revlog-v2: no yes no
plain-cl-delta: yes yes yes
diff --git a/tests/test-clonebundles.t b/tests/test-clonebundles.t
--- a/tests/test-clonebundles.t
+++ b/tests/test-clonebundles.t
@@ -279,7 +279,8 @@
$ hg -R server debugcreatestreamclonebundle packed.hg
writing 613 bytes for 4 files
- bundle requirements: generaldelta, revlogv1, sparserevlog
+ bundle requirements: generaldelta, revlogv1, sparserevlog (no-rust !)
+ bundle requirements: generaldelta, persistent-nodemap, revlogv1, sparserevlog (rust !)
No bundle spec should work
diff --git a/tests/test-clone-uncompressed.t b/tests/test-clone-uncompressed.t
--- a/tests/test-clone-uncompressed.t
+++ b/tests/test-clone-uncompressed.t
@@ -216,13 +216,16 @@
$ f --size --hex --bytes 256 body
body: size=112262 (no-zstd !)
- body: size=109410 (zstd !)
+ body: size=109410 (zstd no-rust !)
+ body: size=109431 (rust !)
0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
0010: 7f 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| (no-zstd !)
0020: 05 09 04 0c 44 62 79 74 65 63 6f 75 6e 74 39 38 |....Dbytecount98| (no-zstd !)
0030: 37 37 35 66 69 6c 65 63 6f 75 6e 74 31 30 33 30 |775filecount1030| (no-zstd !)
- 0010: 99 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| (zstd !)
- 0020: 05 09 04 0c 5e 62 79 74 65 63 6f 75 6e 74 39 35 |....^bytecount95| (zstd !)
+ 0010: 99 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| (zstd no-rust !)
+ 0010: ae 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| (rust !)
+ 0020: 05 09 04 0c 5e 62 79 74 65 63 6f 75 6e 74 39 35 |....^bytecount95| (zstd no-rust !)
+ 0020: 05 09 04 0c 73 62 79 74 65 63 6f 75 6e 74 39 35 |....sbytecount95| (rust !)
0030: 38 39 37 66 69 6c 65 63 6f 75 6e 74 31 30 33 30 |897filecount1030| (zstd !)
0040: 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 65 |requirementsdote|
0050: 6e 63 6f 64 65 25 32 43 66 6e 63 61 63 68 65 25 |ncode%2Cfncache%|
@@ -236,15 +239,24 @@
00d0: d1 ec 39 00 00 00 00 00 00 00 00 00 00 00 00 75 |..9............u| (no-zstd !)
00e0: 30 73 08 42 64 61 74 61 2f 31 2e 69 00 03 00 01 |0s.Bdata/1.i....| (no-zstd !)
00f0: 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 |................| (no-zstd !)
- 0070: 43 72 65 76 6c 6f 67 2d 63 6f 6d 70 72 65 73 73 |Crevlog-compress| (zstd !)
- 0080: 69 6f 6e 2d 7a 73 74 64 25 32 43 72 65 76 6c 6f |ion-zstd%2Crevlo| (zstd !)
- 0090: 67 76 31 25 32 43 73 70 61 72 73 65 72 65 76 6c |gv1%2Csparserevl| (zstd !)
- 00a0: 6f 67 25 32 43 73 74 6f 72 65 00 00 80 00 73 08 |og%2Cstore....s.| (zstd !)
- 00b0: 42 64 61 74 61 2f 30 2e 69 00 03 00 01 00 00 00 |Bdata/0.i.......| (zstd !)
- 00c0: 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 |................| (zstd !)
- 00d0: 01 ff ff ff ff ff ff ff ff 80 29 63 a0 49 d3 23 |..........)c.I.#| (zstd !)
- 00e0: 87 bf ce fe 56 67 92 67 2c 69 d1 ec 39 00 00 00 |....Vg.g,i..9...| (zstd !)
- 00f0: 00 00 00 00 00 00 00 00 00 75 30 73 08 42 64 61 |.........u0s.Bda| (zstd !)
+ 0070: 43 72 65 76 6c 6f 67 2d 63 6f 6d 70 72 65 73 73 |Crevlog-compress| (zstd no-rust !)
+ 0070: 43 70 65 72 73 69 73 74 65 6e 74 2d 6e 6f 64 65 |Cpersistent-node| (rust !)
+ 0080: 69 6f 6e 2d 7a 73 74 64 25 32 43 72 65 76 6c 6f |ion-zstd%2Crevlo| (zstd no-rust !)
+ 0080: 6d 61 70 25 32 43 72 65 76 6c 6f 67 2d 63 6f 6d |map%2Crevlog-com| (rust !)
+ 0090: 67 76 31 25 32 43 73 70 61 72 73 65 72 65 76 6c |gv1%2Csparserevl| (zstd no-rust !)
+ 0090: 70 72 65 73 73 69 6f 6e 2d 7a 73 74 64 25 32 43 |pression-zstd%2C| (rust !)
+ 00a0: 6f 67 25 32 43 73 74 6f 72 65 00 00 80 00 73 08 |og%2Cstore....s.| (zstd no-rust !)
+ 00a0: 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 72 73 |revlogv1%2Cspars| (rust !)
+ 00b0: 42 64 61 74 61 2f 30 2e 69 00 03 00 01 00 00 00 |Bdata/0.i.......| (zstd no-rust !)
+ 00b0: 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 65 00 |erevlog%2Cstore.| (rust !)
+ 00c0: 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 |................| (zstd no-rust !)
+ 00c0: 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 00 03 |...s.Bdata/0.i..| (rust !)
+ 00d0: 01 ff ff ff ff ff ff ff ff 80 29 63 a0 49 d3 23 |..........)c.I.#| (zstd no-rust !)
+ 00d0: 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 00 |................| (rust !)
+ 00e0: 87 bf ce fe 56 67 92 67 2c 69 d1 ec 39 00 00 00 |....Vg.g,i..9...| (zstd no-rust !)
+ 00e0: 00 00 00 00 00 01 ff ff ff ff ff ff ff ff 80 29 |...............)| (rust !)
+ 00f0: 00 00 00 00 00 00 00 00 00 75 30 73 08 42 64 61 |.........u0s.Bda| (zstd no-rust !)
+ 00f0: 63 a0 49 d3 23 87 bf ce fe 56 67 92 67 2c 69 d1 |c.I.#....Vg.g,i.| (rust !)
--uncompressed is an alias to --stream
diff --git a/tests/test-bundle.t b/tests/test-bundle.t
--- a/tests/test-bundle.t
+++ b/tests/test-bundle.t
@@ -297,19 +297,27 @@
$ hg -R test debugcreatestreamclonebundle packed.hg
writing 2664 bytes for 6 files (no-zstd !)
writing 2665 bytes for 6 files (zstd !)
- bundle requirements: generaldelta, revlogv1, sparserevlog
+ bundle requirements: generaldelta, revlogv1, sparserevlog (no-rust !)
+ bundle requirements: generaldelta, persistent-nodemap, revlogv1, sparserevlog (rust !)
$ f -B 64 --size --sha1 --hexdump packed.hg
packed.hg: size=2840, sha1=12bf3eee3eb8a04c503ce2d29b48f0135c7edff5 (no-zstd !)
- packed.hg: size=2841, sha1=8b645a65f49b0ae43042a9f3da56d4bfdf1c7f99 (zstd !)
+ packed.hg: size=2841, sha1=8b645a65f49b0ae43042a9f3da56d4bfdf1c7f99 (zstd no-rust !)
+ packed.hg: size=2860, sha1=81d7a2e535892cda51e82c200f818de2cca828d3 (rust !)
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........|
0010: 00 00 00 00 0a 68 00 23 67 65 6e 65 72 61 6c 64 |.....h.#generald| (no-zstd !)
- 0010: 00 00 00 00 0a 69 00 23 67 65 6e 65 72 61 6c 64 |.....i.#generald| (zstd !)
- 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 76 31 2c 73 70 |elta,revlogv1,sp|
- 0030: 61 72 73 65 72 65 76 6c 6f 67 00 64 61 74 61 2f |arserevlog.data/|
+ 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 76 31 2c 73 70 |elta,revlogv1,sp| (no-zstd !)
+ 0030: 61 72 73 65 72 65 76 6c 6f 67 00 64 61 74 61 2f |arserevlog.data/| (no-zstd !)
+ 0010: 00 00 00 00 0a 69 00 23 67 65 6e 65 72 61 6c 64 |.....i.#generald| (zstd no-rust !)
+ 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 76 31 2c 73 70 |elta,revlogv1,sp| (zstd no-rust !)
+ 0030: 61 72 73 65 72 65 76 6c 6f 67 00 64 61 74 61 2f |arserevlog.data/| (zstd no-rust !)
+ 0010: 00 00 00 00 0a 69 00 36 67 65 6e 65 72 61 6c 64 |.....i.6generald| (rust !)
+ 0020: 65 6c 74 61 2c 70 65 72 73 69 73 74 65 6e 74 2d |elta,persistent-| (rust !)
+ 0030: 6e 6f 64 65 6d 61 70 2c 72 65 76 6c 6f 67 76 31 |nodemap,revlogv1| (rust !)
$ hg debugbundle --spec packed.hg
- none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Csparserevlog
+ none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Csparserevlog (no-rust !)
+ none-packed1;requirements%3Dgeneraldelta%2Cpersistent-nodemap%2Crevlogv1%2Csparserevlog (rust !)
generaldelta requirement is not listed in stream clone bundles unless used
@@ -320,17 +328,23 @@
$ cd ..
$ hg -R testnongd debugcreatestreamclonebundle packednongd.hg
writing 301 bytes for 3 files
- bundle requirements: revlogv1
+ bundle requirements: revlogv1 (no-rust !)
+ bundle requirements: persistent-nodemap, revlogv1 (rust !)
$ f -B 64 --size --sha1 --hexdump packednongd.hg
- packednongd.hg: size=383, sha1=1d9c230238edd5d38907100b729ba72b1831fe6f
+ packednongd.hg: size=383, sha1=1d9c230238edd5d38907100b729ba72b1831fe6f (no-rust !)
+ packednongd.hg: size=402, sha1=d3cc1417f0e8142cf9340aaaa520b660ad3ec3ea (rust !)
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 03 00 00 |HGS1UN..........|
- 0010: 00 00 00 00 01 2d 00 09 72 65 76 6c 6f 67 76 31 |.....-..revlogv1|
- 0020: 00 64 61 74 61 2f 66 6f 6f 2e 69 00 36 34 0a 00 |.data/foo.i.64..|
- 0030: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+ 0010: 00 00 00 00 01 2d 00 09 72 65 76 6c 6f 67 76 31 |.....-..revlogv1| (no-rust !)
+ 0020: 00 64 61 74 61 2f 66 6f 6f 2e 69 00 36 34 0a 00 |.data/foo.i.64..| (no-rust !)
+ 0030: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| (no-rust !)
+ 0010: 00 00 00 00 01 2d 00 1c 70 65 72 73 69 73 74 65 |.....-..persiste| (rust !)
+ 0020: 6e 74 2d 6e 6f 64 65 6d 61 70 2c 72 65 76 6c 6f |nt-nodemap,revlo| (rust !)
+ 0030: 67 76 31 00 64 61 74 61 2f 66 6f 6f 2e 69 00 36 |gv1.data/foo.i.6| (rust !)
$ hg debugbundle --spec packednongd.hg
- none-packed1;requirements%3Drevlogv1
+ none-packed1;requirements%3Drevlogv1 (no-rust !)
+ none-packed1;requirements%3Dpersistent-nodemap%2Crevlogv1 (rust !)
Warning emitted when packed bundles contain secret changesets
@@ -344,7 +358,8 @@
$ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg
(warning: stream clone bundle will contain secret revisions)
writing 301 bytes for 3 files
- bundle requirements: generaldelta, revlogv1, sparserevlog
+ bundle requirements: generaldelta, revlogv1, sparserevlog (no-rust !)
+ bundle requirements: generaldelta, persistent-nodemap, revlogv1, sparserevlog (rust !)
Unpacking packed1 bundles with "hg unbundle" isn't allowed
diff --git a/mercurial/helptext/config.txt b/mercurial/helptext/config.txt
--- a/mercurial/helptext/config.txt
+++ b/mercurial/helptext/config.txt
@@ -910,7 +910,8 @@
Repository with this on-disk format require Mercurial version 5.4 or above.
- Disabled by default.
+ By default this format variant is disabled if fast implementation is not
+ available and enabled by default if the fast implementation is available.
``use-share-safe``
Enforce "safe" behaviors for all "shares" that access this repository.
diff --git a/mercurial/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -1325,10 +1325,22 @@
b'usestore',
default=True,
)
+
+
+def _persistent_nodemap_default():
+ """compute `use-persistent-nodemap` default value
+
+ The feature is disabled unless a fast implementation is available.
+ """
+ from . import policy
+
+ return policy.importrust('revlog') is not None
+
+
coreconfigitem(
b'format',
b'use-persistent-nodemap',
- default=False,
+ default=_persistent_nodemap_default,
)
# TODO needs to grow a docket file to at least store the last offset of the data
# file when rewriting sidedata.
To: marmoute, #hg-reviewers, durin42
Cc: pulkit, mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20210409/1c042b6b/attachment-0001.html>
More information about the Mercurial-patches
mailing list