# HG changeset patch # User Pierre-Yves David # Date 1617728119 -7200 # Node ID 84a93fa7ecfd9e6509d08824e2d11831e582a2fd # Parent 0abf5eba00423035c975213416d56ff9c24d1989 revlog-compression: use zstd by default (if available) As see in changeset bb271ec2fbfb, zstd is 20% to 50% faster for reading and writing. Use take advantage of the new config behavior to try zstd by default, falling back to zlib is zstd is not available on that plateform. Differential Revision: https://phab.mercurial-scm.org/D10326 diff -r 0abf5eba0042 -r 84a93fa7ecfd mercurial/configitems.py --- a/mercurial/configitems.py Wed Apr 07 13:31:15 2021 +0200 +++ b/mercurial/configitems.py Tue Apr 06 18:55:19 2021 +0200 @@ -1307,7 +1307,7 @@ coreconfigitem( b'format', b'revlog-compression', - default=lambda: [b'zlib'], + default=lambda: [b'zstd', b'zlib'], alias=[(b'experimental', b'format.compression')], ) coreconfigitem( diff -r 0abf5eba0042 -r 84a93fa7ecfd mercurial/helptext/config.txt --- a/mercurial/helptext/config.txt Wed Apr 07 13:31:15 2021 +0200 +++ b/mercurial/helptext/config.txt Tue Apr 06 18:55:19 2021 +0200 @@ -966,7 +966,7 @@ On some systems, the Mercurial installation may lack `zstd` support. - Default is `zlib`. + Default is `zstd` if available, `zlib` otherwise. ``bookmarks-in-store`` Store bookmarks in .hg/store/. This means that bookmarks are shared when diff -r 0abf5eba0042 -r 84a93fa7ecfd mercurial/upgrade_utils/actions.py --- a/mercurial/upgrade_utils/actions.py Wed Apr 07 13:31:15 2021 +0200 +++ b/mercurial/upgrade_utils/actions.py Tue Apr 06 18:55:19 2021 +0200 @@ -395,10 +395,21 @@ return True +_has_zstd = ( + b'zstd' in util.compengines + and util.compengines[b'zstd'].available() + and util.compengines[b'zstd'].revlogheader() +) + + @registerformatvariant class compressionengine(formatvariant): name = b'compression' - default = b'zlib' + + if _has_zstd: + default = b'zstd' + else: + default = b'zlib' description = _( b'Compresion algorithm used to compress data. ' diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-bundle.t --- a/tests/test-bundle.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-bundle.t Tue Apr 06 18:55:19 2021 +0200 @@ -295,13 +295,16 @@ #if reporevlogstore $ hg -R test debugcreatestreamclonebundle packed.hg - writing 2664 bytes for 6 files + writing 2664 bytes for 6 files (no-zstd !) + writing 2665 bytes for 6 files (zstd !) bundle requirements: generaldelta, revlogv1, sparserevlog $ f -B 64 --size --sha1 --hexdump packed.hg - packed.hg: size=2840, sha1=12bf3eee3eb8a04c503ce2d29b48f0135c7edff5 + packed.hg: size=2840, sha1=12bf3eee3eb8a04c503ce2d29b48f0135c7edff5 (no-zstd !) + packed.hg: size=2841, sha1=8b645a65f49b0ae43042a9f3da56d4bfdf1c7f99 (zstd !) 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| + 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/| diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-clone-uncompressed.t --- a/tests/test-clone-uncompressed.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-clone-uncompressed.t Tue Apr 06 18:55:19 2021 +0200 @@ -178,16 +178,20 @@ #if stream-legacy $ hg clone --stream -U http://localhost:$HGPORT clone1 streaming all changes - 1027 files to transfer, 96.3 KB of data - transferred 96.3 KB in * seconds (*/sec) (glob) + 1027 files to transfer, 96.3 KB of data (no-zstd !) + transferred 96.3 KB in * seconds (*/sec) (glob) (no-zstd !) + 1027 files to transfer, 93.5 KB of data (zstd !) + transferred 93.5 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found #endif #if stream-bundle2 $ hg clone --stream -U http://localhost:$HGPORT clone1 streaming all changes - 1030 files to transfer, 96.5 KB of data - transferred 96.5 KB in * seconds (* */sec) (glob) + 1030 files to transfer, 96.5 KB of data (no-zstd !) + transferred 96.5 KB in * seconds (*/sec) (glob) (no-zstd !) + 1030 files to transfer, 93.6 KB of data (zstd !) + transferred 93.6 KB in * seconds (* */sec) (glob) (zstd !) $ ls -1 clone1/.hg/cache branch2-base @@ -211,39 +215,56 @@ $ f --size --hex --bytes 256 body - body: size=112262 + body: size=112262 (no-zstd !) + body: size=109410 (zstd !) 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.......| - 0020: 05 09 04 0c 44 62 79 74 65 63 6f 75 6e 74 39 38 |....Dbytecount98| - 0030: 37 37 35 66 69 6c 65 63 6f 75 6e 74 31 30 33 30 |775filecount1030| + 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 !) + 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%| 0060: 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 25 32 |2Cgeneraldelta%2| - 0070: 43 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 72 |Crevlogv1%2Cspar| - 0080: 73 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 65 |serevlog%2Cstore| - 0090: 00 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 00 |....s.Bdata/0.i.| - 00a0: 03 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 |................| - 00b0: 00 00 00 00 00 00 01 ff ff ff ff ff ff ff ff 80 |................| - 00c0: 29 63 a0 49 d3 23 87 bf ce fe 56 67 92 67 2c 69 |)c.I.#....Vg.g,i| - 00d0: d1 ec 39 00 00 00 00 00 00 00 00 00 00 00 00 75 |..9............u| - 00e0: 30 73 08 42 64 61 74 61 2f 31 2e 69 00 03 00 01 |0s.Bdata/1.i....| - 00f0: 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 |................| + 0070: 43 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 72 |Crevlogv1%2Cspar| (no-zstd !) + 0080: 73 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 65 |serevlog%2Cstore| (no-zstd !) + 0090: 00 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 00 |....s.Bdata/0.i.| (no-zstd !) + 00a0: 03 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 |................| (no-zstd !) + 00b0: 00 00 00 00 00 00 01 ff ff ff ff ff ff ff ff 80 |................| (no-zstd !) + 00c0: 29 63 a0 49 d3 23 87 bf ce fe 56 67 92 67 2c 69 |)c.I.#....Vg.g,i| (no-zstd !) + 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 !) --uncompressed is an alias to --stream #if stream-legacy $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed streaming all changes - 1027 files to transfer, 96.3 KB of data - transferred 96.3 KB in * seconds (*/sec) (glob) + 1027 files to transfer, 96.3 KB of data (no-zstd !) + transferred 96.3 KB in * seconds (*/sec) (glob) (no-zstd !) + 1027 files to transfer, 93.5 KB of data (zstd !) + transferred 93.5 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found #endif #if stream-bundle2 $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed streaming all changes - 1030 files to transfer, 96.5 KB of data - transferred 96.5 KB in * seconds (* */sec) (glob) + 1030 files to transfer, 96.5 KB of data (no-zstd !) + transferred 96.5 KB in * seconds (* */sec) (glob) (no-zstd !) + 1030 files to transfer, 93.6 KB of data (zstd !) + transferred 93.6 KB in * seconds (* */sec) (glob) (zstd !) #endif Clone with background file closing enabled @@ -255,10 +276,12 @@ sending branchmap command streaming all changes sending stream_out command - 1027 files to transfer, 96.3 KB of data + 1027 files to transfer, 96.3 KB of data (no-zstd !) + 1027 files to transfer, 93.5 KB of data (zstd !) starting 4 threads for background file closing updating the branch cache - transferred 96.3 KB in * seconds (*/sec) (glob) + transferred 96.3 KB in * seconds (*/sec) (glob) (no-zstd !) + transferred 93.5 KB in * seconds (* */sec) (glob) (zstd !) query 1; heads sending batch command searching for changes @@ -285,12 +308,15 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "stream2" (params: 3 mandatory) supported applying stream bundle - 1030 files to transfer, 96.5 KB of data + 1030 files to transfer, 96.5 KB of data (no-zstd !) + 1030 files to transfer, 93.6 KB of data (zstd !) starting 4 threads for background file closing starting 4 threads for background file closing updating the branch cache - transferred 96.5 KB in * seconds (* */sec) (glob) - bundle2-input-part: total payload size 112094 + transferred 96.5 KB in * seconds (* */sec) (glob) (no-zstd !) + bundle2-input-part: total payload size 112094 (no-zstd !) + transferred 93.6 KB in * seconds (* */sec) (glob) (zstd !) + bundle2-input-part: total payload size 109216 (zstd !) bundle2-input-part: "listkeys" (params: 1 mandatory) supported bundle2-input-bundle: 2 parts total checking for updated bookmarks @@ -322,16 +348,20 @@ #if stream-legacy $ hg clone --stream -U http://localhost:$HGPORT secret-allowed streaming all changes - 1027 files to transfer, 96.3 KB of data - transferred 96.3 KB in * seconds (*/sec) (glob) + 1027 files to transfer, 96.3 KB of data (no-zstd !) + transferred 96.3 KB in * seconds (*/sec) (glob) (no-zstd !) + 1027 files to transfer, 93.5 KB of data (zstd !) + transferred 93.5 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found #endif #if stream-bundle2 $ hg clone --stream -U http://localhost:$HGPORT secret-allowed streaming all changes - 1030 files to transfer, 96.5 KB of data - transferred 96.5 KB in * seconds (* */sec) (glob) + 1030 files to transfer, 96.5 KB of data (no-zstd !) + transferred 96.5 KB in * seconds (* */sec) (glob) (no-zstd !) + 1030 files to transfer, 93.6 KB of data (zstd !) + transferred 93.6 KB in * seconds (* */sec) (glob) (zstd !) #endif $ killdaemons.py @@ -437,8 +467,10 @@ #if stream-legacy $ hg clone --stream http://localhost:$HGPORT with-bookmarks streaming all changes - 1027 files to transfer, 96.3 KB of data - transferred 96.3 KB in * seconds (*) (glob) + 1027 files to transfer, 96.3 KB of data (no-zstd !) + transferred 96.3 KB in * seconds (*) (glob) (no-zstd !) + 1027 files to transfer, 93.5 KB of data (zstd !) + transferred 93.5 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found updating to branch default @@ -447,8 +479,10 @@ #if stream-bundle2 $ hg clone --stream http://localhost:$HGPORT with-bookmarks streaming all changes - 1033 files to transfer, 96.6 KB of data - transferred 96.6 KB in * seconds (* */sec) (glob) + 1033 files to transfer, 96.6 KB of data (no-zstd !) + transferred 96.6 KB in * seconds (* */sec) (glob) (no-zstd !) + 1033 files to transfer, 93.8 KB of data (zstd !) + transferred 93.8 KB in * seconds (* */sec) (glob) (zstd !) updating to branch default 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved #endif @@ -467,8 +501,10 @@ #if stream-legacy $ hg clone --stream http://localhost:$HGPORT phase-publish streaming all changes - 1027 files to transfer, 96.3 KB of data - transferred 96.3 KB in * seconds (*) (glob) + 1027 files to transfer, 96.3 KB of data (no-zstd !) + transferred 96.3 KB in * seconds (*) (glob) (no-zstd !) + 1027 files to transfer, 93.5 KB of data (zstd !) + transferred 93.5 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found updating to branch default @@ -477,8 +513,10 @@ #if stream-bundle2 $ hg clone --stream http://localhost:$HGPORT phase-publish streaming all changes - 1033 files to transfer, 96.6 KB of data - transferred 96.6 KB in * seconds (* */sec) (glob) + 1033 files to transfer, 96.6 KB of data (no-zstd !) + transferred 96.6 KB in * seconds (* */sec) (glob) (no-zstd !) + 1033 files to transfer, 93.8 KB of data (zstd !) + transferred 93.8 KB in * seconds (* */sec) (glob) (zstd !) updating to branch default 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved #endif @@ -503,8 +541,10 @@ $ hg clone --stream http://localhost:$HGPORT phase-no-publish streaming all changes - 1027 files to transfer, 96.3 KB of data - transferred 96.3 KB in * seconds (*) (glob) + 1027 files to transfer, 96.3 KB of data (no-zstd !) + transferred 96.3 KB in * seconds (* */sec) (glob) (no-zstd !) + 1027 files to transfer, 93.5 KB of data (zstd !) + transferred 93.5 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found updating to branch default @@ -516,8 +556,10 @@ #if stream-bundle2 $ hg clone --stream http://localhost:$HGPORT phase-no-publish streaming all changes - 1034 files to transfer, 96.7 KB of data - transferred 96.7 KB in * seconds (* */sec) (glob) + 1034 files to transfer, 96.7 KB of data (no-zstd !) + transferred 96.7 KB in * seconds (* */sec) (glob) (no-zstd !) + 1034 files to transfer, 93.9 KB of data (zstd !) + transferred 93.9 KB in * seconds (* */sec) (glob) (zstd !) updating to branch default 1025 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg -R phase-no-publish phase -r 'all()' @@ -561,8 +603,10 @@ $ hg clone -U --stream http://localhost:$HGPORT with-obsolescence streaming all changes - 1035 files to transfer, 97.1 KB of data - transferred 97.1 KB in * seconds (* */sec) (glob) + 1035 files to transfer, 97.1 KB of data (no-zstd !) + transferred 97.1 KB in * seconds (* */sec) (glob) (no-zstd !) + 1035 files to transfer, 94.3 KB of data (zstd !) + transferred 94.3 KB in * seconds (* */sec) (glob) (zstd !) $ hg -R with-obsolescence log -T '{rev}: {phase}\n' 1: draft 0: draft diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-copies-in-changeset.t --- a/tests/test-copies-in-changeset.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-copies-in-changeset.t Tue Apr 06 18:55:19 2021 +0200 @@ -43,7 +43,8 @@ copies-sdc: yes yes no revlog-v2: yes yes no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default #else $ hg debugformat -v @@ -57,7 +58,8 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default #endif $ echo a > a @@ -428,7 +430,8 @@ copies-sdc: yes yes no revlog-v2: yes yes no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ hg debugsidedata -c -- 0 1 sidedata entries @@ -454,7 +457,8 @@ copies-sdc: no no no revlog-v2: yes yes no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ hg debugsidedata -c -- 0 1 sidedata entries @@ -482,7 +486,8 @@ copies-sdc: yes yes no revlog-v2: yes yes no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ hg debugsidedata -c -- 0 1 sidedata entries diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-debugcommands.t --- a/tests/test-debugcommands.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-debugcommands.t Tue Apr 06 18:55:19 2021 +0200 @@ -368,7 +368,8 @@ 7 1 8 1 9 1 - 10 2 + 10 2 (no-zstd !) + 10 1 (zstd !) 11 1 $ hg --config extensions.strip= strip --no-backup -r 1 1 files updated, 0 files merged, 0 files removed, 0 files unresolved diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-generaldelta.t --- a/tests/test-generaldelta.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-generaldelta.t Tue Apr 06 18:55:19 2021 +0200 @@ -106,22 +106,33 @@ 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg -R repo debugdeltachain -m rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio - 0 1 1 -1 base 104 135 104 0.77037 104 0 0.00000 - 1 1 2 0 prev 57 135 161 1.19259 161 0 0.00000 - 2 1 3 1 prev 57 135 218 1.61481 218 0 0.00000 + 0 1 1 -1 base 104 135 104 0.77037 104 0 0.00000 (no-zstd !) + 1 1 2 0 prev 57 135 161 1.19259 161 0 0.00000 (no-zstd !) + 2 1 3 1 prev 57 135 218 1.61481 218 0 0.00000 (no-zstd !) + 0 1 1 -1 base 107 135 107 0.79259 107 0 0.00000 (zstd !) + 1 1 2 0 prev 57 135 164 1.21481 164 0 0.00000 (zstd !) + 2 1 3 1 prev 57 135 221 1.63704 221 0 0.00000 (zstd !) 3 2 1 -1 base 104 135 104 0.77037 104 0 0.00000 $ hg -R usegd debugdeltachain -m rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio - 0 1 1 -1 base 104 135 104 0.77037 104 0 0.00000 - 1 1 2 0 p1 57 135 161 1.19259 161 0 0.00000 - 2 1 3 1 prev 57 135 218 1.61481 218 0 0.00000 - 3 1 2 0 p1 57 135 161 1.19259 275 114 0.70807 + 0 1 1 -1 base 104 135 104 0.77037 104 0 0.00000 (no-zstd !) + 1 1 2 0 p1 57 135 161 1.19259 161 0 0.00000 (no-zstd !) + 2 1 3 1 prev 57 135 218 1.61481 218 0 0.00000 (no-zstd !) + 3 1 2 0 p1 57 135 161 1.19259 275 114 0.70807 (no-zstd !) + 0 1 1 -1 base 107 135 107 0.79259 107 0 0.00000 (zstd !) + 1 1 2 0 p1 57 135 164 1.21481 164 0 0.00000 (zstd !) + 2 1 3 1 prev 57 135 221 1.63704 221 0 0.00000 (zstd !) + 3 1 2 0 p1 57 135 164 1.21481 278 114 0.69512 (zstd !) $ hg -R full debugdeltachain -m rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio - 0 1 1 -1 base 104 135 104 0.77037 104 0 0.00000 - 1 1 2 0 p1 57 135 161 1.19259 161 0 0.00000 - 2 1 2 0 p1 57 135 161 1.19259 218 57 0.35404 - 3 1 2 0 p1 57 135 161 1.19259 275 114 0.70807 + 0 1 1 -1 base 104 135 104 0.77037 104 0 0.00000 (no-zstd !) + 1 1 2 0 p1 57 135 161 1.19259 161 0 0.00000 (no-zstd !) + 2 1 2 0 p1 57 135 161 1.19259 218 57 0.35404 (no-zstd !) + 3 1 2 0 p1 57 135 161 1.19259 275 114 0.70807 (no-zstd !) + 0 1 1 -1 base 107 135 107 0.79259 107 0 0.00000 (zstd !) + 1 1 2 0 p1 57 135 164 1.21481 164 0 0.00000 (zstd !) + 2 1 2 0 p1 57 135 164 1.21481 221 57 0.34756 (zstd !) + 3 1 2 0 p1 57 135 164 1.21481 278 114 0.69512 (zstd !) Test revlog.optimize-delta-parent-choice @@ -142,9 +153,12 @@ $ hg commit -q -m merge $ hg debugdeltachain -m rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio - 0 1 1 -1 base 59 215 59 0.27442 59 0 0.00000 - 1 1 2 0 prev 61 86 120 1.39535 120 0 0.00000 - 2 1 2 0 p2 62 301 121 0.40199 182 61 0.50413 + 0 1 1 -1 base 59 215 59 0.27442 59 0 0.00000 (no-zstd !) + 1 1 2 0 prev 61 86 120 1.39535 120 0 0.00000 (no-zstd !) + 2 1 2 0 p2 62 301 121 0.40199 182 61 0.50413 (no-zstd !) + 0 1 1 -1 base 68 215 68 0.31628 68 0 0.00000 (zstd !) + 1 1 2 0 prev 70 86 138 1.60465 138 0 0.00000 (zstd !) + 2 1 2 0 p2 68 301 136 0.45183 206 70 0.51471 (zstd !) $ hg strip -q -r . --config extensions.strip= @@ -154,9 +168,12 @@ $ hg commit -q -m merge --config storage.revlog.optimize-delta-parent-choice=yes $ hg debugdeltachain -m rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio - 0 1 1 -1 base 59 215 59 0.27442 59 0 0.00000 - 1 1 2 0 prev 61 86 120 1.39535 120 0 0.00000 - 2 1 2 0 p2 62 301 121 0.40199 182 61 0.50413 + 0 1 1 -1 base 59 215 59 0.27442 59 0 0.00000 (no-zstd !) + 1 1 2 0 prev 61 86 120 1.39535 120 0 0.00000 (no-zstd !) + 2 1 2 0 p2 62 301 121 0.40199 182 61 0.50413 (no-zstd !) + 0 1 1 -1 base 68 215 68 0.31628 68 0 0.00000 (zstd !) + 1 1 2 0 prev 70 86 138 1.60465 138 0 0.00000 (zstd !) + 2 1 2 0 p2 68 301 136 0.45183 206 70 0.51471 (zstd !) Test that strip bundle use bundle2 $ hg --config extensions.strip= strip . @@ -267,12 +284,17 @@ 46 3 29 45 p1 58 1334 1671 1.25262 1671 0 0.00000 47 3 30 46 p1 58 1380 1729 1.25290 1729 0 0.00000 48 3 31 47 p1 58 1426 1787 1.25316 1787 0 0.00000 - 49 4 1 -1 base 197 316 197 0.62342 197 0 0.00000 - 50 4 2 49 p1 58 362 255 0.70442 255 0 0.00000 - 51 4 3 50 prev 356 594 611 1.02862 611 0 0.00000 - 52 4 4 51 p1 58 640 669 1.04531 669 0 0.00000 + 49 4 1 -1 base 197 316 197 0.62342 197 0 0.00000 (no-zstd !) + 50 4 2 49 p1 58 362 255 0.70442 255 0 0.00000 (no-zstd !) + 51 4 3 50 prev 356 594 611 1.02862 611 0 0.00000 (no-zstd !) + 52 4 4 51 p1 58 640 669 1.04531 669 0 0.00000 (no-zstd !) + 49 4 1 -1 base 205 316 205 0.64873 205 0 0.00000 (zstd !) + 50 4 2 49 p1 58 362 263 0.72652 263 0 0.00000 (zstd !) + 51 4 3 50 prev 366 594 629 1.05892 629 0 0.00000 (zstd !) + 52 4 4 51 p1 58 640 687 1.07344 687 0 0.00000 (zstd !) 53 5 1 -1 base 0 0 0 0.00000 0 0 0.00000 - 54 6 1 -1 base 369 640 369 0.57656 369 0 0.00000 + 54 6 1 -1 base 369 640 369 0.57656 369 0 0.00000 (no-zstd !) + 54 6 1 -1 base 375 640 375 0.58594 375 0 0.00000 (zstd !) $ hg clone --pull source-repo --config experimental.maxdeltachainspan=2800 relax-chain --config format.generaldelta=yes requesting all changes adding changesets @@ -333,12 +355,17 @@ 46 3 29 45 p1 58 1334 1671 1.25262 1671 0 0.00000 47 3 30 46 p1 58 1380 1729 1.25290 1729 0 0.00000 48 3 31 47 p1 58 1426 1787 1.25316 1787 0 0.00000 - 49 4 1 -1 base 197 316 197 0.62342 197 0 0.00000 - 50 4 2 49 p1 58 362 255 0.70442 255 0 0.00000 - 51 2 13 17 p1 58 594 739 1.24411 2781 2042 2.76319 - 52 5 1 -1 base 369 640 369 0.57656 369 0 0.00000 + 49 4 1 -1 base 197 316 197 0.62342 197 0 0.00000 (no-zstd !) + 50 4 2 49 p1 58 362 255 0.70442 255 0 0.00000 (no-zstd !) + 51 2 13 17 p1 58 594 739 1.24411 2781 2042 2.76319 (no-zstd !) + 52 5 1 -1 base 369 640 369 0.57656 369 0 0.00000 (no-zstd !) + 49 4 1 -1 base 205 316 205 0.64873 205 0 0.00000 (zstd !) + 50 4 2 49 p1 58 362 263 0.72652 263 0 0.00000 (zstd !) + 51 2 13 17 p1 58 594 739 1.24411 2789 2050 2.77402 (zstd !) + 52 5 1 -1 base 375 640 375 0.58594 375 0 0.00000 (zstd !) 53 6 1 -1 base 0 0 0 0.00000 0 0 0.00000 - 54 7 1 -1 base 369 640 369 0.57656 369 0 0.00000 + 54 7 1 -1 base 369 640 369 0.57656 369 0 0.00000 (no-zstd !) + 54 7 1 -1 base 375 640 375 0.58594 375 0 0.00000 (zstd !) $ hg clone --pull source-repo --config experimental.maxdeltachainspan=0 noconst-chain --config format.usegeneraldelta=yes --config storage.revlog.reuse-external-delta-parent=no requesting all changes adding changesets @@ -404,4 +431,5 @@ 51 2 13 17 p1 58 594 739 1.24411 2642 1903 2.57510 52 2 14 51 p1 58 640 797 1.24531 2700 1903 2.38770 53 4 1 -1 base 0 0 0 0.00000 0 0 0.00000 - 54 5 1 -1 base 369 640 369 0.57656 369 0 0.00000 + 54 5 1 -1 base 369 640 369 0.57656 369 0 0.00000 (no-zstd !) + 54 5 1 -1 base 375 640 375 0.58594 375 0 0.00000 (zstd !) diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-http-bundle1.t --- a/tests/test-http-bundle1.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-http-bundle1.t Tue Apr 06 18:55:19 2021 +0200 @@ -38,7 +38,8 @@ #if no-reposimplestore $ hg clone --stream http://localhost:$HGPORT/ copy 2>&1 streaming all changes - 6 files to transfer, 606 bytes of data + 6 files to transfer, 606 bytes of data (no-zstd !) + 6 files to transfer, 608 bytes of data (zstd !) transferred * bytes in * seconds (*/sec) (glob) searching for changes no changes found @@ -225,7 +226,8 @@ #if no-reposimplestore $ hg clone http://user:pass@localhost:$HGPORT2/ dest 2>&1 streaming all changes - 7 files to transfer, 916 bytes of data + 7 files to transfer, 916 bytes of data (no-zstd !) + 7 files to transfer, 919 bytes of data (zstd !) transferred * bytes in * seconds (*/sec) (glob) searching for changes no changes found diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-http.t --- a/tests/test-http.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-http.t Tue Apr 06 18:55:19 2021 +0200 @@ -29,7 +29,8 @@ #if no-reposimplestore $ hg clone --stream http://localhost:$HGPORT/ copy 2>&1 streaming all changes - 9 files to transfer, 715 bytes of data + 9 files to transfer, 715 bytes of data (no-zstd !) + 9 files to transfer, 717 bytes of data (zstd !) transferred * bytes in * seconds (*/sec) (glob) updating to branch default 4 files updated, 0 files merged, 0 files removed, 0 files unresolved diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-init.t --- a/tests/test-init.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-init.t Tue Apr 06 18:55:19 2021 +0200 @@ -21,6 +21,7 @@ dotencode fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -59,6 +60,7 @@ $ hg --config format.usestore=false init old $ checknewrepo old generaldelta + revlog-compression-zstd (zstd !) revlogv1 testonly-simplestore (reposimplestore !) sparserevlog @@ -70,6 +72,7 @@ store created 00changelog.i created generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -83,6 +86,7 @@ 00changelog.i created fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -96,6 +100,7 @@ 00changelog.i created dotencode fncache + revlog-compression-zstd (zstd !) revlogv1 store testonly-simplestore (reposimplestore !) @@ -213,6 +218,7 @@ dotencode fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -233,6 +239,7 @@ dotencode fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -249,6 +256,7 @@ dotencode fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-lfconvert.t --- a/tests/test-lfconvert.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-lfconvert.t Tue Apr 06 18:55:19 2021 +0200 @@ -99,6 +99,7 @@ fncache generaldelta largefiles + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-lfs-largefiles.t --- a/tests/test-lfs-largefiles.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-lfs-largefiles.t Tue Apr 06 18:55:19 2021 +0200 @@ -293,6 +293,7 @@ fncache generaldelta lfs + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-narrow-clone-no-ellipsis.t --- a/tests/test-narrow-clone-no-ellipsis.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-narrow-clone-no-ellipsis.t Tue Apr 06 18:55:19 2021 +0200 @@ -26,6 +26,7 @@ dotencode fncache narrowhg-experimental + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-narrow-clone-stream.t --- a/tests/test-narrow-clone-stream.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-narrow-clone-stream.t Tue Apr 06 18:55:19 2021 +0200 @@ -68,6 +68,7 @@ fncache (flat-fncache !) generaldelta narrowhg-experimental + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-narrow-clone.t --- a/tests/test-narrow-clone.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-narrow-clone.t Tue Apr 06 18:55:19 2021 +0200 @@ -42,6 +42,7 @@ dotencode fncache narrowhg-experimental + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-narrow-sparse.t --- a/tests/test-narrow-sparse.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-narrow-sparse.t Tue Apr 06 18:55:19 2021 +0200 @@ -61,6 +61,7 @@ fncache generaldelta narrowhg-experimental + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-obsolete.t --- a/tests/test-obsolete.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-obsolete.t Tue Apr 06 18:55:19 2021 +0200 @@ -97,8 +97,10 @@ # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen 0 -1 -1 0 59 0 0 0 0 58 58 0 1 0 1 0 -1 59 118 59 59 0 0 58 116 0 1 0 - 2 1 -1 118 193 118 118 59 0 76 192 0 1 0 - 3 1 -1 193 260 193 193 59 0 66 258 0 2 0 + 2 1 -1 118 193 118 118 59 0 76 192 0 1 0 (no-zstd !) + 3 1 -1 193 260 193 193 59 0 66 258 0 2 0 (no-zstd !) + 2 1 -1 118 195 118 118 59 0 76 192 0 1 0 (zstd !) + 3 1 -1 195 262 195 195 59 0 66 258 0 2 0 (zstd !) $ hg debugobsolete 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'} diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-persistent-nodemap.t --- a/tests/test-persistent-nodemap.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-persistent-nodemap.t Tue Apr 06 18:55:19 2021 +0200 @@ -60,7 +60,8 @@ copies-sdc: no revlog-v2: no plain-cl-delta: yes - compression: zlib + compression: zlib (no-zstd !) + compression: zstd (zstd !) compression-level: default $ hg debugbuilddag .+5000 --new-file @@ -579,13 +580,15 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ hg debugupgraderepo --run --no-backup upgrade will perform the following actions: requirements - preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store + preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-zstd !) + preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !) removed: persistent-nodemap processed revlogs: @@ -624,13 +627,15 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ hg debugupgraderepo --run --no-backup upgrade will perform the following actions: requirements - preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store + preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-zstd !) + preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !) added: persistent-nodemap persistent-nodemap @@ -669,7 +674,8 @@ upgrade will perform the following actions: requirements - preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store + preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (no-zstd !) + preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !) optimisations: re-delta-all @@ -744,11 +750,13 @@ $ hg clone -U --stream --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/test-repo stream-clone --debug | egrep '00(changelog|manifest)' adding [s] 00manifest.n (70 bytes) adding [s] 00manifest.i (313 KB) - adding [s] 00manifest.d (452 KB) + adding [s] 00manifest.d (452 KB) (no-zstd !) + adding [s] 00manifest.d (491 KB) (zstd !) adding [s] 00manifest-*.nd (118 KB) (glob) adding [s] 00changelog.n (70 bytes) adding [s] 00changelog.i (313 KB) - adding [s] 00changelog.d (360 KB) + adding [s] 00changelog.d (360 KB) (no-zstd !) + adding [s] 00changelog.d (368 KB) (zstd !) adding [s] 00changelog-*.nd (118 KB) (glob) $ ls -1 stream-clone/.hg/store/ | egrep '00(changelog|manifest)(\.n|-.*\.nd)' 00changelog-*.nd (glob) diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-phases.t --- a/tests/test-phases.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-phases.t Tue Apr 06 18:55:19 2021 +0200 @@ -886,6 +886,7 @@ dotencode fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -913,6 +914,7 @@ fncache generaldelta internal-phase + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-remotefilelog-bgprefetch.t --- a/tests/test-remotefilelog-bgprefetch.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-remotefilelog-bgprefetch.t Tue Apr 06 18:55:19 2021 +0200 @@ -29,8 +29,10 @@ $ hgcloneshallow ssh://user@dummy/master shallow --noupdate streaming all changes - 2 files to transfer, 776 bytes of data - transferred 776 bytes in * seconds (*/sec) (glob) + 2 files to transfer, 776 bytes of data (no-zstd !) + transferred 776 bytes in * seconds (*/sec) (glob) (no-zstd !) + 2 files to transfer, 784 bytes of data (zstd !) + transferred 784 bytes in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-remotefilelog-clone-tree.t --- a/tests/test-remotefilelog-clone-tree.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-remotefilelog-clone-tree.t Tue Apr 06 18:55:19 2021 +0200 @@ -30,6 +30,7 @@ exp-remotefilelog-repo-req-1 fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -71,6 +72,7 @@ exp-remotefilelog-repo-req-1 fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -112,6 +114,7 @@ exp-remotefilelog-repo-req-1 fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-remotefilelog-clone.t --- a/tests/test-remotefilelog-clone.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-remotefilelog-clone.t Tue Apr 06 18:55:19 2021 +0200 @@ -27,6 +27,7 @@ exp-remotefilelog-repo-req-1 fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -61,6 +62,7 @@ exp-remotefilelog-repo-req-1 fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -110,6 +112,7 @@ exp-remotefilelog-repo-req-1 fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-remotefilelog-log.t --- a/tests/test-remotefilelog-log.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-remotefilelog-log.t Tue Apr 06 18:55:19 2021 +0200 @@ -30,6 +30,7 @@ exp-remotefilelog-repo-req-1 fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-remotefilelog-partial-shallow.t --- a/tests/test-remotefilelog-partial-shallow.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-remotefilelog-partial-shallow.t Tue Apr 06 18:55:19 2021 +0200 @@ -18,8 +18,10 @@ $ hg clone --shallow ssh://user@dummy/master shallow --noupdate --config remotefilelog.includepattern=foo streaming all changes - 3 files to transfer, 336 bytes of data - transferred 336 bytes in * seconds (*/sec) (glob) + 3 files to transfer, 336 bytes of data (no-zstd !) + transferred 336 bytes in * seconds (* */sec) (glob) (no-zstd !) + 3 files to transfer, 338 bytes of data (zstd !) + transferred 338 bytes in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found $ cat >> shallow/.hg/hgrc <> shallow/.hg/hgrc < /dev/null @@ -92,7 +94,8 @@ copies-sdc: no no no revlog-v2: yes no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ hg debugformat -v -R up-side-data --config format.exp-use-side-data=no format-variant repo config default @@ -105,6 +108,7 @@ copies-sdc: no no no revlog-v2: yes no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ hg debugupgraderepo -R up-side-data --config format.exp-use-side-data=no > /dev/null diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-sparse-requirement.t --- a/tests/test-sparse-requirement.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-sparse-requirement.t Tue Apr 06 18:55:19 2021 +0200 @@ -20,6 +20,7 @@ dotencode fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -38,6 +39,7 @@ exp-sparse fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -57,6 +59,7 @@ dotencode fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-sqlitestore.t --- a/tests/test-sqlitestore.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-sqlitestore.t Tue Apr 06 18:55:19 2021 +0200 @@ -17,6 +17,7 @@ dotencode fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -31,6 +32,7 @@ exp-sqlite-comp-001=$BUNDLE2_COMPRESSIONS$ (no-zstd !) fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -49,6 +51,7 @@ exp-sqlite-comp-001=$BUNDLE2_COMPRESSIONS$ fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -62,6 +65,7 @@ exp-sqlite-comp-001=none fncache generaldelta + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-ssh-bundle1.t --- a/tests/test-ssh-bundle1.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-ssh-bundle1.t Tue Apr 06 18:55:19 2021 +0200 @@ -72,8 +72,10 @@ $ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" --stream ssh://user@dummy/remote local-stream streaming all changes - 4 files to transfer, 602 bytes of data - transferred 602 bytes in * seconds (*) (glob) + 4 files to transfer, 602 bytes of data (no-zstd !) + transferred 602 bytes in * seconds (*) (glob) (no-zstd !) + 4 files to transfer, 621 bytes of data (zstd !) + transferred 621 bytes in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found updating to branch default @@ -94,8 +96,10 @@ $ hg -R local-stream book mybook $ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" --stream ssh://user@dummy/local-stream stream2 streaming all changes - 4 files to transfer, 602 bytes of data - transferred 602 bytes in * seconds (*) (glob) + 4 files to transfer, 602 bytes of data (no-zstd !) + transferred 602 bytes in * seconds (*) (glob) (no-zstd !) + 4 files to transfer, 621 bytes of data (zstd !) + transferred 621 bytes in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found updating to branch default diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-ssh.t --- a/tests/test-ssh.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-ssh.t Tue Apr 06 18:55:19 2021 +0200 @@ -64,8 +64,10 @@ $ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" --stream ssh://user@dummy/remote local-stream streaming all changes - 8 files to transfer, 827 bytes of data - transferred 827 bytes in * seconds (*) (glob) + 8 files to transfer, 827 bytes of data (no-zstd !) + transferred 827 bytes in * seconds (*) (glob) (no-zstd !) + 8 files to transfer, 846 bytes of data (zstd !) + transferred * bytes in * seconds (* */sec) (glob) (zstd !) updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd local-stream diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-stream-bundle-v2.t --- a/tests/test-stream-bundle-v2.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-stream-bundle-v2.t Tue Apr 06 18:55:19 2021 +0200 @@ -46,9 +46,11 @@ $ hg bundle -a --type="none-v2;stream=v2" bundle.hg $ hg debugbundle bundle.hg Stream params: {} - stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) + 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 !) $ hg debugbundle --spec bundle.hg - none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Csparserevlog%2Cstore + 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 !) Test that we can apply the bundle as a stream clone bundle diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-treemanifest.t --- a/tests/test-treemanifest.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-treemanifest.t Tue Apr 06 18:55:19 2021 +0200 @@ -832,7 +832,8 @@ Packed bundle $ hg -R deeprepo debugcreatestreamclonebundle repo-packed.hg - writing 5330 bytes for 18 files + writing 5330 bytes for 18 files (no-zstd !) + writing 5400 bytes for 18 files (zstd !) bundle requirements: generaldelta, revlogv1, sparserevlog, treemanifest $ hg debugbundle --spec repo-packed.hg none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Csparserevlog%2Ctreemanifest diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-upgrade-repo.t --- a/tests/test-upgrade-repo.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-upgrade-repo.t Tue Apr 06 18:55:19 2021 +0200 @@ -78,7 +78,8 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zlib zlib zstd (zstd !) compression-level: default default default $ hg debugformat --verbose --config format.usefncache=no format-variant repo config default @@ -91,7 +92,8 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zlib zlib zstd (zstd !) compression-level: default default default $ hg debugformat --verbose --config format.usefncache=no --color=debug format-variant repo config default @@ -104,7 +106,8 @@ [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] - [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib] + [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib] (no-zstd !) + [formatvariant.name.mismatchdefault|compression: ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special| zlib][formatvariant.default| zstd] (zstd !) [formatvariant.name.uptodate|compression-level: ][formatvariant.repo.uptodate| default][formatvariant.config.default| default][formatvariant.default| default] $ hg debugformat -Tjson [ @@ -164,7 +167,8 @@ }, { "config": "zlib", - "default": "zlib", + "default": "zlib", (no-zstd !) + "default": "zstd", (zstd !) "name": "compression", "repo": "zlib" }, @@ -323,7 +327,8 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zlib zlib zstd (zstd !) compression-level: default default default $ hg debugformat --verbose --config format.usegeneraldelta=no format-variant repo config default @@ -336,7 +341,8 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zlib zlib zstd (zstd !) compression-level: default default default $ hg debugformat --verbose --config format.usegeneraldelta=no --color=debug format-variant repo config default @@ -349,7 +355,8 @@ [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] - [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib] + [formatvariant.name.uptodate|compression: ][formatvariant.repo.uptodate| zlib][formatvariant.config.default| zlib][formatvariant.default| zlib] (no-zstd !) + [formatvariant.name.mismatchdefault|compression: ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special| zlib][formatvariant.default| zstd] (zstd !) [formatvariant.name.uptodate|compression-level: ][formatvariant.repo.uptodate| default][formatvariant.config.default| default][formatvariant.default| default] $ hg debugupgraderepo repository lacks features recommended by current config options: @@ -1293,7 +1300,8 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zstd zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zlib zstd (zstd !) compression-level: default default default $ cat .hg/requires dotencode @@ -1329,7 +1337,8 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zlib zlib zlib + compression: zlib zlib zlib (no-zstd !) + compression: zlib zlib zstd (zstd !) compression-level: default default default $ cat .hg/requires dotencode @@ -1368,7 +1377,8 @@ copies-sdc: no no no revlog-v2: no no no plain-cl-delta: yes yes yes - compression: zstd zstd zlib + compression: zlib zlib zlib (no-zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ cat .hg/requires dotencode @@ -1413,7 +1423,7 @@ revlog-v2: yes no no plain-cl-delta: yes yes yes compression: zlib zlib zlib (no-zstd !) - compression: zstd zstd zlib (zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ cat .hg/requires dotencode @@ -1457,7 +1467,7 @@ revlog-v2: no no no plain-cl-delta: yes yes yes compression: zlib zlib zlib (no-zstd !) - compression: zstd zstd zlib (zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ cat .hg/requires dotencode @@ -1501,7 +1511,7 @@ revlog-v2: yes yes no plain-cl-delta: yes yes yes compression: zlib zlib zlib (no-zstd !) - compression: zstd zstd zlib (zstd !) + compression: zstd zstd zstd (zstd !) compression-level: default default default $ cat .hg/requires dotencode diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-wireproto-command-rawstorefiledata.t --- a/tests/test-wireproto-command-rawstorefiledata.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-wireproto-command-rawstorefiledata.t Tue Apr 06 18:55:19 2021 +0200 @@ -56,14 +56,17 @@ response: gen[ { b'filecount': 1, - b'totalsize': 527 + b'totalsize': 527 (no-zstd !) + b'totalsize': 530 (zstd !) }, { b'location': b'store', b'path': b'00changelog.i', - b'size': 527 + b'size': 527 (no-zstd !) + b'size': 530 (zstd !) }, - b'\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00?\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00u992f4779029a3df8d0666d00bb924f69634e2641\ntest\n0 0\na\nb\n\ncommit 0\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00>\x00\x00\x00=\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xffD2\xd86&\xe8\xa9\x86U\xf0b\xec\x1f*C\xb0\x7f\x7f\xbb\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ua988fb43583e871d1ed5750ee074c6d840bbbfc8\ntest\n0 0\na\n\ncommit 1\x00\x00\x00\x00\x00~\x00\x00\x00\x00\x00N\x00\x00\x00W\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xa4r\xd2\xea\x96U\x1a\x1e\xbb\x011-\xb2\xe6\xa7\x86\xd0F\x96o\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c%\xc5\xc1\t\xc0 \x0c\x05\xd0{\xa6p\x03cjI\xd71\xf9\x11\x00\x00\x00=\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xffD2\xd86&\xe8\xa9\x86U\xf0b\xec\x1f*C\xb0\x7f\x7f\xbb\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ua988fb43583e871d1ed5750ee074c6d840bbbfc8\ntest\n0 0\na\n\ncommit 1\x00\x00\x00\x00\x00~\x00\x00\x00\x00\x00N\x00\x00\x00W\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xa4r\xd2\xea\x96U\x1a\x1e\xbb\x011-\xb2\xe6\xa7\x86\xd0F\x96o\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c%\xc5\xc1\t\xc0 \x0c\x05\xd0{\xa6p\x03cjI\xd71\xf9\x11\x00\x00\x00=\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xffD2\xd86&\xe8\xa9\x86U\xf0b\xec\x1f*C\xb0\x7f\x7f\xbb\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ua988fb43583e871d1ed5750ee074c6d840bbbfc8\ntest\n0 0\na\n\ncommit 1\x00\x00\x00\x00\x00~\x00\x00\x00\x00\x00Q\x00\x00\x00W\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xa4r\xd2\xea\x96U\x1a\x1e\xbb\x011-\xb2\xe6\xa7\x86\xd0F\x96o\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\xb5/\xfd WE\x02\x00r\x04\x0f\x14\x90\x01\x0e#\xf7h$;NQC%\xf8f\xd7\xb1\x81\x8d+\x01\x16+)5\xa8\x19\xdaA\xae\xe3\x00\xe9v\xe2l\x05v\x19\x11\xd4\xc1onK\xa2\x17c\xb4\xf3\xe7 z\x13\x8f\x1c\xf3j4\x03\x03\x00`\x06\x84\x8b\x1a\n\x14\x00\x00\x00\x00\x00\xcf\x00\x00\x00\x00\x00C\x00\x00\x00B\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x85kg{\x94a\x12i\xc5lW5[\x85\xf9\x95|\xfc\xc1\xb9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00u90231ddca36fa178a0eed99bd03078112487dda3\ntest\n0 0\ndir1/f\n\ncommit 3', (zstd !) b'' ] @@ -78,14 +81,17 @@ response: gen[ { b'filecount': 1, - b'totalsize': 584 + b'totalsize': 584 (no-zstd !) + b'totalsize': 588 (zstd !) }, { b'location': b'store', b'path': b'00manifest.i', - b'size': 584 + b'size': 584 (no-zstd !) + b'size': 588 (zstd !) }, - b'\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\x00I\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x99/Gy\x02\x9a=\xf8\xd0fm\x00\xbb\x92OicN&A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c\r\xca\xc1\x11\x00!\x08\x040\xdfV\x03+\xa2\x94\xb3\x8c\xd0\x7f\twy\x87\x03i\x95r\x96F6\xe5\x1c\x9a\x10-\x16\xba|\x07\xab\xe5\xd1\xf08s\\\x8d\xc2\xbeo)w\xa9\x8b;\xa2\xff\x95\x19\x02jB\xab\x0c\xea\xf3\x03\xcf\x1d\x16\t\x00\x00\x00\x00\x00I\x00\x00\x00\x00\x007\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xff\xa9\x88\xfbCX>\x87\x1d\x1e\xd5u\x0e\xe0t\xc6\xd8@\xbb\xbf\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x009a38122997b3ac97be2a9aa2e556838341fdf2cc\n\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x8c\x00\x00\x01\x16\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xbcL\xdb}\x10{\xe2w\xaa\xdb"rC\xdf\xb3\xe0M\xd5,\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c%\xcd\xb9\rB1\x10\x00Q\xc7\xbf\x19\xf6\xb6\xdd\x08\xb9\xf7\x92H\xa9\x90\xd2\xb8\x82\xc9\x9e4c\x8c\xfb\xf8\xf7\xca\xc7\x13n16\x8a\x88\xb2\xd8\x818`\xb4=eF\xb9f\x17\xcc\x92\x94hR\xc0\xeb\xe7s(/\x02\xcb\xd8\x13K\tU m\t\x1f\xef\xb2D\x03\xa6\xb6\x14\xb2\xaf\xc7[\rw?\x16`\xce\xd0"\x9c,\xddK\xd0c/\rIX4\xc3\xbc\xe4\xef{ u\xcc\x8c\x9c\x93]\x0f\x9cM;\n\xb7\x12-X\x1c\x96\x9fuT\xc8\xf5\x06\x88\xa25W\x00\x00\x00\x00\x01\x0c\x00\x00\x00\x00\x00<\x00\x00\x01\x16\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x90#\x1d\xdc\xa3o\xa1x\xa0\xee\xd9\x9b\xd00x\x11$\x87\xdd\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x01\x16\x00\x00\x000dir1/f\x0028c776ae08d0d55eb40648b401b90ff54448348e\n', + b'\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\x00I\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x99/Gy\x02\x9a=\xf8\xd0fm\x00\xbb\x92OicN&A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c\r\xca\xc1\x11\x00!\x08\x040\xdfV\x03+\xa2\x94\xb3\x8c\xd0\x7f\twy\x87\x03i\x95r\x96F6\xe5\x1c\x9a\x10-\x16\xba|\x07\xab\xe5\xd1\xf08s\\\x8d\xc2\xbeo)w\xa9\x8b;\xa2\xff\x95\x19\x02jB\xab\x0c\xea\xf3\x03\xcf\x1d\x16\t\x00\x00\x00\x00\x00I\x00\x00\x00\x00\x007\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xff\xa9\x88\xfbCX>\x87\x1d\x1e\xd5u\x0e\xe0t\xc6\xd8@\xbb\xbf\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x009a38122997b3ac97be2a9aa2e556838341fdf2cc\n\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x8c\x00\x00\x01\x16\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xbcL\xdb}\x10{\xe2w\xaa\xdb"rC\xdf\xb3\xe0M\xd5,\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c%\xcd\xb9\rB1\x10\x00Q\xc7\xbf\x19\xf6\xb6\xdd\x08\xb9\xf7\x92H\xa9\x90\xd2\xb8\x82\xc9\x9e4c\x8c\xfb\xf8\xf7\xca\xc7\x13n16\x8a\x88\xb2\xd8\x818`\xb4=eF\xb9f\x17\xcc\x92\x94hR\xc0\xeb\xe7s(/\x02\xcb\xd8\x13K\tU m\t\x1f\xef\xb2D\x03\xa6\xb6\x14\xb2\xaf\xc7[\rw?\x16`\xce\xd0"\x9c,\xddK\xd0c/\rIX4\xc3\xbc\xe4\xef{ u\xcc\x8c\x9c\x93]\x0f\x9cM;\n\xb7\x12-X\x1c\x96\x9fuT\xc8\xf5\x06\x88\xa25W\x00\x00\x00\x00\x01\x0c\x00\x00\x00\x00\x00<\x00\x00\x01\x16\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x90#\x1d\xdc\xa3o\xa1x\xa0\xee\xd9\x9b\xd00x\x11$\x87\xdd\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x01\x16\x00\x00\x000dir1/f\x0028c776ae08d0d55eb40648b401b90ff54448348e\n', (no-zstd !) + b'\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\x00H\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x99/Gy\x02\x9a=\xf8\xd0fm\x00\xbb\x92OicN&A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\xb5/\xfd V\xfd\x01\x00b\xc5\x0e\x0f\xc0\xd1\x00\xfb\x0c\xb9\xca\xdf\xb2R\xba!\xf2\xf6\x1d\x80\xd5\x95Yc\xef9DaT\xcefcM\xf1\x12\t\x84\xf3\x1a\x04\x04N\\\'S\xf2\'\x8cz5\xc5\x9f\xfa\x18\xf3\x82W\x1a\x83Y\xe8\xf0\x00\x00\x00\x00\x00\x00H\x00\x00\x00\x00\x007\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xff\xa9\x88\xfbCX>\x87\x1d\x1e\xd5u\x0e\xe0t\xc6\xd8@\xbb\xbf\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x009a38122997b3ac97be2a9aa2e556838341fdf2cc\n\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x91\x00\x00\x01\x16\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xbcL\xdb}\x10{\xe2w\xaa\xdb"rC\xdf\xb3\xe0M\xd5,\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\xb5/\xfd \xccE\x04\x00bK\x1e\x17\xb0A0\xff\xff\x9b\xb5V\x99\x99\xfa\xb6\xae\xf5n),"\xf1\n\x02\xb5\x07\x82++\xd1]T\x1b3\xaa\x8e\x10+)R\xa6\\\x9a\x10\xab+\xb4\x8bB\x9f\x13U\xd4\x98\xbd\xde \x9a\xf4\xd1}[\xfb{,q\x14Kf\x06\x1e\x10\xd6\x17\xbbl\x90\x16\xb9\xb3\xd8\x07\xee\xfc\xa8\x8eI\x10]\x9c\x1ava\x054W\xad\xdf\xb3\x18\xee\xbdd\x15\xdf$\x85St\n\xde\xee?\x91\xa0\x83\x11\x08\xd8\x01\x80\x10B\x04\x00\x04S\x04B\xc7Tw\x9f\xb9,\x00\x00\x00\x00\x01\x10\x00\x00\x00\x00\x00<\x00\x00\x01\x16\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x90#\x1d\xdc\xa3o\xa1x\xa0\xee\xd9\x9b\xd00x\x11$\x87\xdd\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x01\x16\x00\x00\x000dir1/f\x0028c776ae08d0d55eb40648b401b90ff54448348e\n', (zstd !) b'' ] @@ -100,21 +106,26 @@ response: gen[ { b'filecount': 2, - b'totalsize': 1111 + b'totalsize': 1111 (no-zstd !) + b'totalsize': 1118 (zstd !) }, { b'location': b'store', b'path': b'00manifest.i', - b'size': 584 + b'size': 584 (no-zstd !) + b'size': 588 (zstd !) }, - b'\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\x00I\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x99/Gy\x02\x9a=\xf8\xd0fm\x00\xbb\x92OicN&A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c\r\xca\xc1\x11\x00!\x08\x040\xdfV\x03+\xa2\x94\xb3\x8c\xd0\x7f\twy\x87\x03i\x95r\x96F6\xe5\x1c\x9a\x10-\x16\xba|\x07\xab\xe5\xd1\xf08s\\\x8d\xc2\xbeo)w\xa9\x8b;\xa2\xff\x95\x19\x02jB\xab\x0c\xea\xf3\x03\xcf\x1d\x16\t\x00\x00\x00\x00\x00I\x00\x00\x00\x00\x007\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xff\xa9\x88\xfbCX>\x87\x1d\x1e\xd5u\x0e\xe0t\xc6\xd8@\xbb\xbf\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x009a38122997b3ac97be2a9aa2e556838341fdf2cc\n\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x8c\x00\x00\x01\x16\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xbcL\xdb}\x10{\xe2w\xaa\xdb"rC\xdf\xb3\xe0M\xd5,\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c%\xcd\xb9\rB1\x10\x00Q\xc7\xbf\x19\xf6\xb6\xdd\x08\xb9\xf7\x92H\xa9\x90\xd2\xb8\x82\xc9\x9e4c\x8c\xfb\xf8\xf7\xca\xc7\x13n16\x8a\x88\xb2\xd8\x818`\xb4=eF\xb9f\x17\xcc\x92\x94hR\xc0\xeb\xe7s(/\x02\xcb\xd8\x13K\tU m\t\x1f\xef\xb2D\x03\xa6\xb6\x14\xb2\xaf\xc7[\rw?\x16`\xce\xd0"\x9c,\xddK\xd0c/\rIX4\xc3\xbc\xe4\xef{ u\xcc\x8c\x9c\x93]\x0f\x9cM;\n\xb7\x12-X\x1c\x96\x9fuT\xc8\xf5\x06\x88\xa25W\x00\x00\x00\x00\x01\x0c\x00\x00\x00\x00\x00<\x00\x00\x01\x16\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x90#\x1d\xdc\xa3o\xa1x\xa0\xee\xd9\x9b\xd00x\x11$\x87\xdd\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x01\x16\x00\x00\x000dir1/f\x0028c776ae08d0d55eb40648b401b90ff54448348e\n', + b'\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\x00I\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x99/Gy\x02\x9a=\xf8\xd0fm\x00\xbb\x92OicN&A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c\r\xca\xc1\x11\x00!\x08\x040\xdfV\x03+\xa2\x94\xb3\x8c\xd0\x7f\twy\x87\x03i\x95r\x96F6\xe5\x1c\x9a\x10-\x16\xba|\x07\xab\xe5\xd1\xf08s\\\x8d\xc2\xbeo)w\xa9\x8b;\xa2\xff\x95\x19\x02jB\xab\x0c\xea\xf3\x03\xcf\x1d\x16\t\x00\x00\x00\x00\x00I\x00\x00\x00\x00\x007\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xff\xa9\x88\xfbCX>\x87\x1d\x1e\xd5u\x0e\xe0t\xc6\xd8@\xbb\xbf\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x009a38122997b3ac97be2a9aa2e556838341fdf2cc\n\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x8c\x00\x00\x01\x16\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xbcL\xdb}\x10{\xe2w\xaa\xdb"rC\xdf\xb3\xe0M\xd5,\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c%\xcd\xb9\rB1\x10\x00Q\xc7\xbf\x19\xf6\xb6\xdd\x08\xb9\xf7\x92H\xa9\x90\xd2\xb8\x82\xc9\x9e4c\x8c\xfb\xf8\xf7\xca\xc7\x13n16\x8a\x88\xb2\xd8\x818`\xb4=eF\xb9f\x17\xcc\x92\x94hR\xc0\xeb\xe7s(/\x02\xcb\xd8\x13K\tU m\t\x1f\xef\xb2D\x03\xa6\xb6\x14\xb2\xaf\xc7[\rw?\x16`\xce\xd0"\x9c,\xddK\xd0c/\rIX4\xc3\xbc\xe4\xef{ u\xcc\x8c\x9c\x93]\x0f\x9cM;\n\xb7\x12-X\x1c\x96\x9fuT\xc8\xf5\x06\x88\xa25W\x00\x00\x00\x00\x01\x0c\x00\x00\x00\x00\x00<\x00\x00\x01\x16\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x90#\x1d\xdc\xa3o\xa1x\xa0\xee\xd9\x9b\xd00x\x11$\x87\xdd\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x01\x16\x00\x00\x000dir1/f\x0028c776ae08d0d55eb40648b401b90ff54448348e\n', (no-zstd !) + b'\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\x00H\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x99/Gy\x02\x9a=\xf8\xd0fm\x00\xbb\x92OicN&A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\xb5/\xfd V\xfd\x01\x00b\xc5\x0e\x0f\xc0\xd1\x00\xfb\x0c\xb9\xca\xdf\xb2R\xba!\xf2\xf6\x1d\x80\xd5\x95Yc\xef9DaT\xcefcM\xf1\x12\t\x84\xf3\x1a\x04\x04N\\\'S\xf2\'\x8cz5\xc5\x9f\xfa\x18\xf3\x82W\x1a\x83Y\xe8\xf0\x00\x00\x00\x00\x00\x00H\x00\x00\x00\x00\x007\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xff\xa9\x88\xfbCX>\x87\x1d\x1e\xd5u\x0e\xe0t\xc6\xd8@\xbb\xbf\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x009a38122997b3ac97be2a9aa2e556838341fdf2cc\n\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x91\x00\x00\x01\x16\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xbcL\xdb}\x10{\xe2w\xaa\xdb"rC\xdf\xb3\xe0M\xd5,\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\xb5/\xfd \xccE\x04\x00bK\x1e\x17\xb0A0\xff\xff\x9b\xb5V\x99\x99\xfa\xb6\xae\xf5n),"\xf1\n\x02\xb5\x07\x82++\xd1]T\x1b3\xaa\x8e\x10+)R\xa6\\\x9a\x10\xab+\xb4\x8bB\x9f\x13U\xd4\x98\xbd\xde \x9a\xf4\xd1}[\xfb{,q\x14Kf\x06\x1e\x10\xd6\x17\xbbl\x90\x16\xb9\xb3\xd8\x07\xee\xfc\xa8\x8eI\x10]\x9c\x1ava\x054W\xad\xdf\xb3\x18\xee\xbdd\x15\xdf$\x85St\n\xde\xee?\x91\xa0\x83\x11\x08\xd8\x01\x80\x10B\x04\x00\x04S\x04B\xc7Tw\x9f\xb9,\x00\x00\x00\x00\x01\x10\x00\x00\x00\x00\x00<\x00\x00\x01\x16\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x90#\x1d\xdc\xa3o\xa1x\xa0\xee\xd9\x9b\xd00x\x11$\x87\xdd\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x01\x16\x00\x00\x000dir1/f\x0028c776ae08d0d55eb40648b401b90ff54448348e\n', (zstd !) b'', { b'location': b'store', b'path': b'00changelog.i', - b'size': 527 + b'size': 527 (no-zstd !) + b'size': 530 (zstd !) }, - b'\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00?\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00u992f4779029a3df8d0666d00bb924f69634e2641\ntest\n0 0\na\nb\n\ncommit 0\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00>\x00\x00\x00=\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xffD2\xd86&\xe8\xa9\x86U\xf0b\xec\x1f*C\xb0\x7f\x7f\xbb\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ua988fb43583e871d1ed5750ee074c6d840bbbfc8\ntest\n0 0\na\n\ncommit 1\x00\x00\x00\x00\x00~\x00\x00\x00\x00\x00N\x00\x00\x00W\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xa4r\xd2\xea\x96U\x1a\x1e\xbb\x011-\xb2\xe6\xa7\x86\xd0F\x96o\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c%\xc5\xc1\t\xc0 \x0c\x05\xd0{\xa6p\x03cjI\xd71\xf9\x11\x00\x00\x00=\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xffD2\xd86&\xe8\xa9\x86U\xf0b\xec\x1f*C\xb0\x7f\x7f\xbb\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ua988fb43583e871d1ed5750ee074c6d840bbbfc8\ntest\n0 0\na\n\ncommit 1\x00\x00\x00\x00\x00~\x00\x00\x00\x00\x00N\x00\x00\x00W\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xa4r\xd2\xea\x96U\x1a\x1e\xbb\x011-\xb2\xe6\xa7\x86\xd0F\x96o\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x9c%\xc5\xc1\t\xc0 \x0c\x05\xd0{\xa6p\x03cjI\xd71\xf9\x11\x00\x00\x00=\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\xff\xff\xff\xffD2\xd86&\xe8\xa9\x86U\xf0b\xec\x1f*C\xb0\x7f\x7f\xbb\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ua988fb43583e871d1ed5750ee074c6d840bbbfc8\ntest\n0 0\na\n\ncommit 1\x00\x00\x00\x00\x00~\x00\x00\x00\x00\x00Q\x00\x00\x00W\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\xff\xff\xff\xff\xa4r\xd2\xea\x96U\x1a\x1e\xbb\x011-\xb2\xe6\xa7\x86\xd0F\x96o\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\xb5/\xfd WE\x02\x00r\x04\x0f\x14\x90\x01\x0e#\xf7h$;NQC%\xf8f\xd7\xb1\x81\x8d+\x01\x16+)5\xa8\x19\xdaA\xae\xe3\x00\xe9v\xe2l\x05v\x19\x11\xd4\xc1onK\xa2\x17c\xb4\xf3\xe7 z\x13\x8f\x1c\xf3j4\x03\x03\x00`\x06\x84\x8b\x1a\n\x14\x00\x00\x00\x00\x00\xcf\x00\x00\x00\x00\x00C\x00\x00\x00B\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x02\xff\xff\xff\xff\x85kg{\x94a\x12i\xc5lW5[\x85\xf9\x95|\xfc\xc1\xb9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00u90231ddca36fa178a0eed99bd03078112487dda3\ntest\n0 0\ndir1/f\n\ncommit 3', (zstd !) b'' ] diff -r 0abf5eba0042 -r 84a93fa7ecfd tests/test-wireproto-exchangev2.t --- a/tests/test-wireproto-exchangev2.t Wed Apr 07 13:31:15 2021 +0200 +++ b/tests/test-wireproto-exchangev2.t Tue Apr 06 18:55:19 2021 +0200 @@ -1099,7 +1099,8 @@ $ cat clone-output | grep "received frame" received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) - received frame(size=1275; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) + received frame(size=1275; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) (no-zstd !) + received frame(size=1283; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) (zstd !) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) @@ -1196,7 +1197,8 @@ $ cat clone-output | grep "received frame" received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) - received frame(size=1275; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) + received frame(size=1275; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) (no-zstd !) + received frame(size=1283; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) (zstd !) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)