# HG changeset patch # User Pierre-Yves David # Date 1610596700 -3600 # Node ID cc3ad5c3af3bfabcaaacd2b4cc38cf865bc5be07 # Parent df76da69f5b1ff854f72f4d0d1c8e624138d8073 persistent-nodemap: enable the feature by default when using Rust As discussed at the 5.6 sprint, we can make it enabled by default, but only for Rust installation. Differential Revision: https://phab.mercurial-scm.org/D9765 diff -r df76da69f5b1 -r cc3ad5c3af3b mercurial/configitems.py --- a/mercurial/configitems.py Fri Apr 09 03:36:24 2021 +0200 +++ b/mercurial/configitems.py Thu Jan 14 04:58:20 2021 +0100 @@ -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. diff -r df76da69f5b1 -r cc3ad5c3af3b mercurial/helptext/config.txt --- a/mercurial/helptext/config.txt Fri Apr 09 03:36:24 2021 +0200 +++ b/mercurial/helptext/config.txt Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-bundle.t --- a/tests/test-bundle.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-bundle.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-clone-uncompressed.t --- a/tests/test-clone-uncompressed.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-clone-uncompressed.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-clonebundles.t --- a/tests/test-clonebundles.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-clonebundles.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-copies-chain-merge.t --- a/tests/test-copies-chain-merge.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-copies-chain-merge.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-copies-in-changeset.t --- a/tests/test-copies-in-changeset.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-copies-in-changeset.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-debugcommands.t --- a/tests/test-debugcommands.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-debugcommands.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-hgweb-commands.t --- a/tests/test-hgweb-commands.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-hgweb-commands.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-init.t --- a/tests/test-init.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-init.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-lfconvert.t --- a/tests/test-lfconvert.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-lfconvert.t Thu Jan 14 04:58:20 2021 +0100 @@ -99,6 +99,7 @@ fncache generaldelta largefiles + persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog diff -r df76da69f5b1 -r cc3ad5c3af3b tests/test-lfs-largefiles.t --- a/tests/test-lfs-largefiles.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-lfs-largefiles.t Thu Jan 14 04:58:20 2021 +0100 @@ -293,6 +293,7 @@ fncache generaldelta lfs + persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog diff -r df76da69f5b1 -r cc3ad5c3af3b tests/test-narrow-clone-no-ellipsis.t --- a/tests/test-narrow-clone-no-ellipsis.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-narrow-clone-no-ellipsis.t Thu Jan 14 04:58:20 2021 +0100 @@ -26,6 +26,7 @@ dotencode fncache narrowhg-experimental + persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog diff -r df76da69f5b1 -r cc3ad5c3af3b tests/test-narrow-clone-stream.t --- a/tests/test-narrow-clone-stream.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-narrow-clone-stream.t Thu Jan 14 04:58:20 2021 +0100 @@ -68,6 +68,7 @@ fncache (flat-fncache !) generaldelta narrowhg-experimental + persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog diff -r df76da69f5b1 -r cc3ad5c3af3b tests/test-narrow-clone.t --- a/tests/test-narrow-clone.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-narrow-clone.t Thu Jan 14 04:58:20 2021 +0100 @@ -42,6 +42,7 @@ dotencode fncache narrowhg-experimental + persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog diff -r df76da69f5b1 -r cc3ad5c3af3b tests/test-narrow-sparse.t --- a/tests/test-narrow-sparse.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-narrow-sparse.t Thu Jan 14 04:58:20 2021 +0100 @@ -61,6 +61,7 @@ fncache generaldelta narrowhg-experimental + persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog diff -r df76da69f5b1 -r cc3ad5c3af3b tests/test-persistent-nodemap.t --- a/tests/test-persistent-nodemap.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-persistent-nodemap.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-phases.t --- a/tests/test-phases.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-phases.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-remotefilelog-clone-tree.t --- a/tests/test-remotefilelog-clone-tree.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-remotefilelog-clone-tree.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-remotefilelog-clone.t --- a/tests/test-remotefilelog-clone.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-remotefilelog-clone.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-remotefilelog-log.t --- a/tests/test-remotefilelog-log.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-remotefilelog-log.t Thu Jan 14 04:58:20 2021 +0100 @@ -30,6 +30,7 @@ exp-remotefilelog-repo-req-1 fncache generaldelta + persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog diff -r df76da69f5b1 -r cc3ad5c3af3b tests/test-repo-compengines.t --- a/tests/test-repo-compengines.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-repo-compengines.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-requires.t --- a/tests/test-requires.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-requires.t Thu Jan 14 04:58:20 2021 +0100 @@ -53,6 +53,7 @@ featuresetup-test fncache generaldelta + persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog diff -r df76da69f5b1 -r cc3ad5c3af3b tests/test-revlog-v2.t --- a/tests/test-revlog-v2.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-revlog-v2.t Thu Jan 14 04:58:20 2021 +0100 @@ -24,6 +24,7 @@ dotencode exp-revlogv2.2 fncache + persistent-nodemap (rust !) revlog-compression-zstd (zstd !) sparserevlog store diff -r df76da69f5b1 -r cc3ad5c3af3b tests/test-rhg.t --- a/tests/test-rhg.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-rhg.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-sidedata.t --- a/tests/test-sidedata.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-sidedata.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-sparse-requirement.t --- a/tests/test-sparse-requirement.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-sparse-requirement.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-sqlitestore.t --- a/tests/test-sqlitestore.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-sqlitestore.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-ssh-bundle1.t --- a/tests/test-ssh-bundle1.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-ssh-bundle1.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-ssh.t --- a/tests/test-ssh.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-ssh.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-stream-bundle-v2.t --- a/tests/test-stream-bundle-v2.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-stream-bundle-v2.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-treemanifest.t --- a/tests/test-treemanifest.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-treemanifest.t Thu Jan 14 04:58:20 2021 +0100 @@ -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 -r df76da69f5b1 -r cc3ad5c3af3b tests/test-upgrade-repo.t --- a/tests/test-upgrade-repo.t Fri Apr 09 03:36:24 2021 +0200 +++ b/tests/test-upgrade-repo.t Thu Jan 14 04:58:20 2021 +0100 @@ -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