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. 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/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/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-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-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-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-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-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-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-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-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-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-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.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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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