diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -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 --git a/mercurial/helptext/config.txt b/mercurial/helptext/config.txt --- a/mercurial/helptext/config.txt +++ b/mercurial/helptext/config.txt @@ -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 --git a/mercurial/upgrade_utils/actions.py b/mercurial/upgrade_utils/actions.py --- a/mercurial/upgrade_utils/actions.py +++ b/mercurial/upgrade_utils/actions.py @@ -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 --git a/tests/test-bundle.t b/tests/test-bundle.t --- a/tests/test-bundle.t +++ b/tests/test-bundle.t @@ -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 --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 @@ -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 --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 @@ -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 --git a/tests/test-debugcommands.t b/tests/test-debugcommands.t --- a/tests/test-debugcommands.t +++ b/tests/test-debugcommands.t @@ -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 --git a/tests/test-generaldelta.t b/tests/test-generaldelta.t --- a/tests/test-generaldelta.t +++ b/tests/test-generaldelta.t @@ -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 --git a/tests/test-http-bundle1.t b/tests/test-http-bundle1.t --- a/tests/test-http-bundle1.t +++ b/tests/test-http-bundle1.t @@ -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 --git a/tests/test-http.t b/tests/test-http.t --- a/tests/test-http.t +++ b/tests/test-http.t @@ -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 --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 + 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 --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 + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store 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 + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store 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 + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store 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 + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store 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 + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store 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 + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t --- a/tests/test-obsolete.t +++ b/tests/test-obsolete.t @@ -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 --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 @@ -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 --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 + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store @@ -913,6 +914,7 @@ fncache generaldelta internal-phase + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff --git a/tests/test-remotefilelog-bgprefetch.t b/tests/test-remotefilelog-bgprefetch.t --- a/tests/test-remotefilelog-bgprefetch.t +++ b/tests/test-remotefilelog-bgprefetch.t @@ -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 --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 + 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 --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 + 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 --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 + revlog-compression-zstd (zstd !) revlogv1 sparserevlog store diff --git a/tests/test-remotefilelog-partial-shallow.t b/tests/test-remotefilelog-partial-shallow.t --- a/tests/test-remotefilelog-partial-shallow.t +++ b/tests/test-remotefilelog-partial-shallow.t @@ -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 --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 + 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 --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 + 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 --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 @@ -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 --git a/tests/test-ssh.t b/tests/test-ssh.t --- a/tests/test-ssh.t +++ b/tests/test-ssh.t @@ -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 --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 @@ -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 --git a/tests/test-treemanifest.t b/tests/test-treemanifest.t --- a/tests/test-treemanifest.t +++ b/tests/test-treemanifest.t @@ -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 --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 @@ -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 --git a/tests/test-wireproto-command-rawstorefiledata.t b/tests/test-wireproto-command-rawstorefiledata.t --- a/tests/test-wireproto-command-rawstorefiledata.t +++ b/tests/test-wireproto-command-rawstorefiledata.t @@ -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 --git a/tests/test-wireproto-exchangev2.t b/tests/test-wireproto-exchangev2.t --- a/tests/test-wireproto-exchangev2.t +++ b/tests/test-wireproto-exchangev2.t @@ -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)