This is quite noisy so we adds it in its own changeset. Fixes for the issue are
coming in the next patch.
Details
Details
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Branch
- stable
- Lint
No Linters Available - Unit
No Unit Test Coverage
( )
This is quite noisy so we adds it in its own changeset. Fixes for the issue are
coming in the next patch.
No Linters Available |
No Unit Test Coverage |
$ echo foo > store/undo.foo.d | $ echo foo > store/undo.foo.d | ||||
$ echo foo > store/undo.foo.n | $ echo foo > store/undo.foo.n | ||||
$ echo foo > store/undo.babar | $ echo foo > store/undo.babar | ||||
Name with special characters | Name with special characters | ||||
$ echo foo > store/CélesteVille_is_a_Capital_City | $ echo foo > store/CélesteVille_is_a_Capital_City | ||||
name causing issue6581 | |||||
$ mkdir --parents container/isam-build-centos7/ | |||||
$ touch container/isam-build-centos7/bazel-coverage-generator-sandboxfs-compatibility-0758e3e4f6057904d44399bd666faba9e7f40686.patch | |||||
Add all that | Add all that | ||||
$ hg add . | $ hg add . | ||||
adding 00changelog-ab349180a0405010.nd | adding 00changelog-ab349180a0405010.nd | ||||
adding 00changelog.d | adding 00changelog.d | ||||
adding 00changelog.i | adding 00changelog.i | ||||
adding 00changelog.n | adding 00changelog.n | ||||
adding 00manifest.d | adding 00manifest.d | ||||
adding 00manifest.i | adding 00manifest.i | ||||
adding container/isam-build-centos7/bazel-coverage-generator-sandboxfs-compatibility-0758e3e4f6057904d44399bd666faba9e7f40686.patch | |||||
adding data/foo.d | adding data/foo.d | ||||
adding data/foo.i | adding data/foo.i | ||||
adding data/foo.n | adding data/foo.n | ||||
adding data/undo.babar | adding data/undo.babar | ||||
adding data/undo.d | adding data/undo.d | ||||
adding data/undo.foo.d | adding data/undo.foo.d | ||||
adding data/undo.foo.i | adding data/undo.foo.i | ||||
adding data/undo.foo.n | adding data/undo.foo.n | ||||
Check local clone | Check local clone | ||||
================== | ================== | ||||
The logic is close enough of uncompressed. | The logic is close enough of uncompressed. | ||||
This is present here to reuse the testing around file with "special" names. | This is present here to reuse the testing around file with "special" names. | ||||
$ hg clone server local-clone | $ hg clone server local-clone | ||||
updating to branch default | updating to branch default (missing-correct-output !) | ||||
1087 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved (missing-correct-output !) | ||||
abort: $ENOENT$: '$TESTTMP/local-clone/.hg/store/dh/containe/isam-bui/bazel-coverage-generator-sandboxfs-compatibility-0758e3e4d94041277bcd011e1d54c247523c124b4a325686.i' (known-bad-output !) | |||||
[255] | |||||
Check that the clone went well | Check that the clone went well | ||||
$ hg verify -R local-clone | $ hg verify -R local-clone | ||||
checking changesets | checking changesets (missing-correct-output !) | ||||
checking manifests | checking manifests (missing-correct-output !) | ||||
crosschecking files in changesets and manifests | crosschecking files in changesets and manifests (missing-correct-output !) | ||||
checking files | checking files (missing-correct-output !) | ||||
checked 3 changesets with 1087 changes to 1087 files | checked 3 changesets with 1088 changes to 1088 files (missing-correct-output !) | ||||
abort: repository local-clone not found (known-bad-output !) | |||||
[255] | |||||
Check uncompressed | Check uncompressed | ||||
================== | ================== | ||||
Cannot stream clone when server.uncompressed is set | Cannot stream clone when server.uncompressed is set | ||||
$ get-with-headers.py $LOCALIP:$HGPORT '?cmd=stream_out' | $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=stream_out' | ||||
200 Script output follows | 200 Script output follows | ||||
https | https | ||||
$ hg clone --stream -U http://localhost:$HGPORT server-disabled | $ hg clone --stream -U http://localhost:$HGPORT server-disabled | ||||
warning: stream clone requested but server has them disabled | warning: stream clone requested but server has them disabled | ||||
requesting all changes | requesting all changes | ||||
adding changesets | adding changesets | ||||
adding manifests | adding manifests | ||||
adding file changes | adding file changes | ||||
added 3 changesets with 1087 changes to 1087 files | added 3 changesets with 1088 changes to 1088 files | ||||
new changesets 96ee1d7354c4:42e820400e84 | new changesets 96ee1d7354c4:5223b5e3265f | ||||
$ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" | $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" | ||||
200 Script output follows | 200 Script output follows | ||||
content-type: application/mercurial-0.2 | content-type: application/mercurial-0.2 | ||||
$ f --size body --hexdump --bytes 100 | $ f --size body --hexdump --bytes 100 | ||||
body: size=232 | body: size=232 | ||||
https | https | ||||
$ hg clone --stream -U http://localhost:$HGPORT server-disabled | $ hg clone --stream -U http://localhost:$HGPORT server-disabled | ||||
warning: stream clone requested but server has them disabled | warning: stream clone requested but server has them disabled | ||||
requesting all changes | requesting all changes | ||||
adding changesets | adding changesets | ||||
adding manifests | adding manifests | ||||
adding file changes | adding file changes | ||||
added 3 changesets with 1087 changes to 1087 files | added 3 changesets with 1088 changes to 1088 files | ||||
new changesets 96ee1d7354c4:42e820400e84 | new changesets 96ee1d7354c4:5223b5e3265f | ||||
$ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" | $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" | ||||
200 Script output follows | 200 Script output follows | ||||
content-type: application/mercurial-0.2 | content-type: application/mercurial-0.2 | ||||
$ f --size body --hexdump --bytes 100 | $ f --size body --hexdump --bytes 100 | ||||
body: size=232 | body: size=232 | ||||
$ cat hg.pid > $DAEMON_PIDS | $ cat hg.pid > $DAEMON_PIDS | ||||
$ cd .. | $ cd .. | ||||
Basic clone | Basic clone | ||||
#if stream-legacy | #if stream-legacy | ||||
$ hg clone --stream -U http://localhost:$HGPORT clone1 | $ hg clone --stream -U http://localhost:$HGPORT clone1 | ||||
streaming all changes | streaming all changes | ||||
1089 files to transfer, 101 KB of data (no-zstd !) | 1090 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1089 files to transfer, 98.5 KB of data (zstd !) | 1090 files to transfer, 98.8 KB of data (zstd !) | ||||
transferred 98.5 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | ||||
searching for changes | searching for changes | ||||
no changes found | no changes found | ||||
$ cat server/errors.txt | $ cat server/errors.txt | ||||
#endif | #endif | ||||
#if stream-bundle2 | #if stream-bundle2 | ||||
$ hg clone --stream -U http://localhost:$HGPORT clone1 | $ hg clone --stream -U http://localhost:$HGPORT clone1 | ||||
streaming all changes | streaming all changes | ||||
1092 files to transfer, 101 KB of data (no-zstd !) | 1093 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1092 files to transfer, 98.6 KB of data (zstd !) | 1093 files to transfer, 98.9 KB of data (zstd !) | ||||
transferred 98.6 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) | ||||
$ ls -1 clone1/.hg/cache | $ ls -1 clone1/.hg/cache | ||||
branch2-base | branch2-base | ||||
branch2-immutable | branch2-immutable | ||||
branch2-served | branch2-served | ||||
branch2-served.hidden | branch2-served.hidden | ||||
branch2-visible | branch2-visible | ||||
branch2-visible-hidden | branch2-visible-hidden | ||||
rbc-names-v1 | rbc-names-v1 | ||||
rbc-revs-v1 | rbc-revs-v1 | ||||
tags2 | tags2 | ||||
tags2-served | tags2-served | ||||
$ cat server/errors.txt | $ cat server/errors.txt | ||||
#endif | #endif | ||||
getbundle requests with stream=1 are uncompressed | getbundle requests with stream=1 are uncompressed | ||||
$ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto '0.1 0.2 comp=zlib,none' --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" | $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto '0.1 0.2 comp=zlib,none' --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1" | ||||
200 Script output follows | 200 Script output follows | ||||
content-type: application/mercurial-0.2 | content-type: application/mercurial-0.2 | ||||
#if no-zstd no-rust | #if no-zstd no-rust | ||||
$ f --size --hex --bytes 256 body | $ f --size --hex --bytes 256 body | ||||
body: size=118737 | body: size=119153 | ||||
0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| | 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| | ||||
0010: 80 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| | 0010: 80 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| | ||||
0020: 06 09 04 0c 44 62 79 74 65 63 6f 75 6e 74 31 30 |....Dbytecount10| | 0020: 06 09 04 0c 44 62 79 74 65 63 6f 75 6e 74 31 30 |....Dbytecount10| | ||||
0030: 33 38 33 34 66 69 6c 65 63 6f 75 6e 74 31 30 39 |3834filecount109| | 0030: 34 31 31 35 66 69 6c 65 63 6f 75 6e 74 31 30 39 |4115filecount109| | ||||
0040: 32 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 |2requirementsdot| | 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 |3requirementsdot| | ||||
0050: 65 6e 63 6f 64 65 25 32 43 66 6e 63 61 63 68 65 |encode%2Cfncache| | 0050: 65 6e 63 6f 64 65 25 32 43 66 6e 63 61 63 68 65 |encode%2Cfncache| | ||||
0060: 25 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 25 |%2Cgeneraldelta%| | 0060: 25 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 25 |%2Cgeneraldelta%| | ||||
0070: 32 43 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 |2Crevlogv1%2Cspa| | 0070: 32 43 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 |2Crevlogv1%2Cspa| | ||||
0080: 72 73 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 |rserevlog%2Cstor| | 0080: 72 73 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 |rserevlog%2Cstor| | ||||
0090: 65 00 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 |e....s.Bdata/0.i| | 0090: 65 00 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 |e....s.Bdata/0.i| | ||||
00a0: 00 03 00 01 00 00 00 00 00 00 00 02 00 00 00 01 |................| | 00a0: 00 03 00 01 00 00 00 00 00 00 00 02 00 00 00 01 |................| | ||||
00b0: 00 00 00 00 00 00 00 01 ff ff ff ff ff ff ff ff |................| | 00b0: 00 00 00 00 00 00 00 01 ff ff ff ff ff ff ff ff |................| | ||||
00c0: 80 29 63 a0 49 d3 23 87 bf ce fe 56 67 92 67 2c |.)c.I.#....Vg.g,| | 00c0: 80 29 63 a0 49 d3 23 87 bf ce fe 56 67 92 67 2c |.)c.I.#....Vg.g,| | ||||
00d0: 69 d1 ec 39 00 00 00 00 00 00 00 00 00 00 00 00 |i..9............| | 00d0: 69 d1 ec 39 00 00 00 00 00 00 00 00 00 00 00 00 |i..9............| | ||||
00e0: 75 30 73 26 45 64 61 74 61 2f 30 30 63 68 61 6e |u0s&Edata/00chan| | 00e0: 75 30 73 26 45 64 61 74 61 2f 30 30 63 68 61 6e |u0s&Edata/00chan| | ||||
00f0: 67 65 6c 6f 67 2d 61 62 33 34 39 31 38 30 61 30 |gelog-ab349180a0| | 00f0: 67 65 6c 6f 67 2d 61 62 33 34 39 31 38 30 61 30 |gelog-ab349180a0| | ||||
#endif | #endif | ||||
#if zstd no-rust | #if zstd no-rust | ||||
$ f --size --hex --bytes 256 body | $ f --size --hex --bytes 256 body | ||||
body: size=115921 | body: size=116340 | ||||
0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| | 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| | ||||
0010: 9a 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| | 0010: 9a 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| | ||||
0020: 06 09 04 0c 5e 62 79 74 65 63 6f 75 6e 74 31 30 |....^bytecount10| | 0020: 06 09 04 0c 5e 62 79 74 65 63 6f 75 6e 74 31 30 |....^bytecount10| | ||||
0030: 30 39 39 32 66 69 6c 65 63 6f 75 6e 74 31 30 39 |0992filecount109| | 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109| | ||||
0040: 32 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 |2requirementsdot| | 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 |3requirementsdot| | ||||
0050: 65 6e 63 6f 64 65 25 32 43 66 6e 63 61 63 68 65 |encode%2Cfncache| | 0050: 65 6e 63 6f 64 65 25 32 43 66 6e 63 61 63 68 65 |encode%2Cfncache| | ||||
0060: 25 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 25 |%2Cgeneraldelta%| | 0060: 25 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 25 |%2Cgeneraldelta%| | ||||
0070: 32 43 72 65 76 6c 6f 67 2d 63 6f 6d 70 72 65 73 |2Crevlog-compres| | 0070: 32 43 72 65 76 6c 6f 67 2d 63 6f 6d 70 72 65 73 |2Crevlog-compres| | ||||
0080: 73 69 6f 6e 2d 7a 73 74 64 25 32 43 72 65 76 6c |sion-zstd%2Crevl| | 0080: 73 69 6f 6e 2d 7a 73 74 64 25 32 43 72 65 76 6c |sion-zstd%2Crevl| | ||||
0090: 6f 67 76 31 25 32 43 73 70 61 72 73 65 72 65 76 |ogv1%2Csparserev| | 0090: 6f 67 76 31 25 32 43 73 70 61 72 73 65 72 65 76 |ogv1%2Csparserev| | ||||
00a0: 6c 6f 67 25 32 43 73 74 6f 72 65 00 00 80 00 73 |log%2Cstore....s| | 00a0: 6c 6f 67 25 32 43 73 74 6f 72 65 00 00 80 00 73 |log%2Cstore....s| | ||||
00b0: 08 42 64 61 74 61 2f 30 2e 69 00 03 00 01 00 00 |.Bdata/0.i......| | 00b0: 08 42 64 61 74 61 2f 30 2e 69 00 03 00 01 00 00 |.Bdata/0.i......| | ||||
00c0: 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 |................| | 00c0: 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 |................| | ||||
00d0: 00 01 ff ff ff ff ff ff ff ff 80 29 63 a0 49 d3 |...........)c.I.| | 00d0: 00 01 ff ff ff ff ff ff ff ff 80 29 63 a0 49 d3 |...........)c.I.| | ||||
00e0: 23 87 bf ce fe 56 67 92 67 2c 69 d1 ec 39 00 00 |#....Vg.g,i..9..| | 00e0: 23 87 bf ce fe 56 67 92 67 2c 69 d1 ec 39 00 00 |#....Vg.g,i..9..| | ||||
00f0: 00 00 00 00 00 00 00 00 00 00 75 30 73 26 45 64 |..........u0s&Ed| | 00f0: 00 00 00 00 00 00 00 00 00 00 75 30 73 26 45 64 |..........u0s&Ed| | ||||
#endif | #endif | ||||
#if zstd rust no-dirstate-v2 | #if zstd rust no-dirstate-v2 | ||||
$ f --size --hex --bytes 256 body | $ f --size --hex --bytes 256 body | ||||
body: size=115942 | body: size=116361 | ||||
0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| | 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| | ||||
0010: af 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| | 0010: af 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......| | ||||
0020: 06 09 04 0c 73 62 79 74 65 63 6f 75 6e 74 31 30 |....sbytecount10| | 0020: 06 09 04 0c 73 62 79 74 65 63 6f 75 6e 74 31 30 |....sbytecount10| | ||||
0030: 30 39 39 32 66 69 6c 65 63 6f 75 6e 74 31 30 39 |0992filecount109| | 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109| | ||||
0040: 32 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 |2requirementsdot| | 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 |3requirementsdot| | ||||
0050: 65 6e 63 6f 64 65 25 32 43 66 6e 63 61 63 68 65 |encode%2Cfncache| | 0050: 65 6e 63 6f 64 65 25 32 43 66 6e 63 61 63 68 65 |encode%2Cfncache| | ||||
0060: 25 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 25 |%2Cgeneraldelta%| | 0060: 25 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 25 |%2Cgeneraldelta%| | ||||
0070: 32 43 70 65 72 73 69 73 74 65 6e 74 2d 6e 6f 64 |2Cpersistent-nod| | 0070: 32 43 70 65 72 73 69 73 74 65 6e 74 2d 6e 6f 64 |2Cpersistent-nod| | ||||
0080: 65 6d 61 70 25 32 43 72 65 76 6c 6f 67 2d 63 6f |emap%2Crevlog-co| | 0080: 65 6d 61 70 25 32 43 72 65 76 6c 6f 67 2d 63 6f |emap%2Crevlog-co| | ||||
0090: 6d 70 72 65 73 73 69 6f 6e 2d 7a 73 74 64 25 32 |mpression-zstd%2| | 0090: 6d 70 72 65 73 73 69 6f 6e 2d 7a 73 74 64 25 32 |mpression-zstd%2| | ||||
00a0: 43 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 72 |Crevlogv1%2Cspar| | 00a0: 43 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 72 |Crevlogv1%2Cspar| | ||||
00b0: 73 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 65 |serevlog%2Cstore| | 00b0: 73 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 65 |serevlog%2Cstore| | ||||
00c0: 00 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 00 |....s.Bdata/0.i.| | 00c0: 00 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 00 |....s.Bdata/0.i.| | ||||
00f0: 00 00 00 00 00 00 00 01 ff ff ff ff ff ff ff ff |................| | 00f0: 00 00 00 00 00 00 00 01 ff ff ff ff ff ff ff ff |................| | ||||
#endif | #endif | ||||
--uncompressed is an alias to --stream | --uncompressed is an alias to --stream | ||||
#if stream-legacy | #if stream-legacy | ||||
$ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed | $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed | ||||
streaming all changes | streaming all changes | ||||
1089 files to transfer, 101 KB of data (no-zstd !) | 1090 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1089 files to transfer, 98.5 KB of data (zstd !) | 1090 files to transfer, 98.8 KB of data (zstd !) | ||||
transferred 98.5 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | ||||
searching for changes | searching for changes | ||||
no changes found | no changes found | ||||
#endif | #endif | ||||
#if stream-bundle2 | #if stream-bundle2 | ||||
$ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed | $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed | ||||
streaming all changes | streaming all changes | ||||
1092 files to transfer, 101 KB of data (no-zstd !) | 1093 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1092 files to transfer, 98.6 KB of data (zstd !) | 1093 files to transfer, 98.9 KB of data (zstd !) | ||||
transferred 98.6 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) | ||||
#endif | #endif | ||||
Clone with background file closing enabled | Clone with background file closing enabled | ||||
#if stream-legacy | #if stream-legacy | ||||
$ hg --debug --config worker.backgroundclose=true --config worker.backgroundcloseminfilecount=1 clone --stream -U http://localhost:$HGPORT clone-background | grep -v adding | $ hg --debug --config worker.backgroundclose=true --config worker.backgroundcloseminfilecount=1 clone --stream -U http://localhost:$HGPORT clone-background | grep -v adding | ||||
using http://localhost:$HGPORT/ | using http://localhost:$HGPORT/ | ||||
sending capabilities command | sending capabilities command | ||||
sending branchmap command | sending branchmap command | ||||
streaming all changes | streaming all changes | ||||
sending stream_out command | sending stream_out command | ||||
1089 files to transfer, 101 KB of data (no-zstd !) | 1090 files to transfer, 102 KB of data (no-zstd !) | ||||
1089 files to transfer, 98.5 KB of data (zstd !) | 1090 files to transfer, 98.8 KB of data (zstd !) | ||||
starting 4 threads for background file closing | starting 4 threads for background file closing | ||||
updating the branch cache | updating the branch cache | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
transferred 98.5 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | ||||
query 1; heads | query 1; heads | ||||
sending batch command | sending batch command | ||||
searching for changes | searching for changes | ||||
all remote heads known locally | all remote heads known locally | ||||
no changes found | no changes found | ||||
sending getbundle command | sending getbundle command | ||||
bundle2-input-bundle: with-transaction | bundle2-input-bundle: with-transaction | ||||
bundle2-input-part: "listkeys" (params: 1 mandatory) supported | bundle2-input-part: "listkeys" (params: 1 mandatory) supported | ||||
sending capabilities command | sending capabilities command | ||||
query 1; heads | query 1; heads | ||||
sending batch command | sending batch command | ||||
streaming all changes | streaming all changes | ||||
sending getbundle command | sending getbundle command | ||||
bundle2-input-bundle: with-transaction | bundle2-input-bundle: with-transaction | ||||
bundle2-input-part: "stream2" (params: 3 mandatory) supported | bundle2-input-part: "stream2" (params: 3 mandatory) supported | ||||
applying stream bundle | applying stream bundle | ||||
1092 files to transfer, 101 KB of data (no-zstd !) | 1093 files to transfer, 102 KB of data (no-zstd !) | ||||
1092 files to transfer, 98.6 KB of data (zstd !) | 1093 files to transfer, 98.9 KB of data (zstd !) | ||||
starting 4 threads for background file closing | starting 4 threads for background file closing | ||||
starting 4 threads for background file closing | starting 4 threads for background file closing | ||||
updating the branch cache | updating the branch cache | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
bundle2-input-part: total payload size 118568 (no-zstd !) | bundle2-input-part: total payload size 118984 (no-zstd !) | ||||
transferred 98.6 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) | ||||
bundle2-input-part: total payload size 115726 (zstd !) | bundle2-input-part: total payload size 116145 (zstd !) | ||||
bundle2-input-part: "listkeys" (params: 1 mandatory) supported | bundle2-input-part: "listkeys" (params: 1 mandatory) supported | ||||
bundle2-input-bundle: 2 parts total | bundle2-input-bundle: 2 parts total | ||||
checking for updated bookmarks | checking for updated bookmarks | ||||
updating the branch cache | updating the branch cache | ||||
(sent 3 HTTP requests and * bytes; received * bytes in responses) (glob) | (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob) | ||||
#endif | #endif | ||||
Cannot stream clone when there are secret changesets | Cannot stream clone when there are secret changesets | ||||
$ cd server | $ cd server | ||||
$ hg serve --config server.uncompressedallowsecret=true -p $HGPORT -d --pid-file=hg.pid | $ hg serve --config server.uncompressedallowsecret=true -p $HGPORT -d --pid-file=hg.pid | ||||
$ cat hg.pid > $DAEMON_PIDS | $ cat hg.pid > $DAEMON_PIDS | ||||
$ cd .. | $ cd .. | ||||
#if stream-legacy | #if stream-legacy | ||||
$ hg clone --stream -U http://localhost:$HGPORT secret-allowed | $ hg clone --stream -U http://localhost:$HGPORT secret-allowed | ||||
streaming all changes | streaming all changes | ||||
1089 files to transfer, 101 KB of data (no-zstd !) | 1090 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1089 files to transfer, 98.5 KB of data (zstd !) | 1090 files to transfer, 98.8 KB of data (zstd !) | ||||
transferred 98.5 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | ||||
searching for changes | searching for changes | ||||
no changes found | no changes found | ||||
#endif | #endif | ||||
#if stream-bundle2 | #if stream-bundle2 | ||||
$ hg clone --stream -U http://localhost:$HGPORT secret-allowed | $ hg clone --stream -U http://localhost:$HGPORT secret-allowed | ||||
streaming all changes | streaming all changes | ||||
1092 files to transfer, 101 KB of data (no-zstd !) | 1093 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1092 files to transfer, 98.6 KB of data (zstd !) | 1093 files to transfer, 98.9 KB of data (zstd !) | ||||
transferred 98.6 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) | ||||
#endif | #endif | ||||
$ killdaemons.py | $ killdaemons.py | ||||
Verify interaction between preferuncompressed and secret presence | Verify interaction between preferuncompressed and secret presence | ||||
$ cd server | $ cd server | ||||
$ hg serve --config server.preferuncompressed=true -p $HGPORT -d --pid-file=hg.pid | $ hg serve --config server.preferuncompressed=true -p $HGPORT -d --pid-file=hg.pid | ||||
$ hg -R server bookmark -r tip some-bookmark | $ hg -R server bookmark -r tip some-bookmark | ||||
clone it | clone it | ||||
#if stream-legacy | #if stream-legacy | ||||
$ hg clone --stream http://localhost:$HGPORT with-bookmarks | $ hg clone --stream http://localhost:$HGPORT with-bookmarks | ||||
streaming all changes | streaming all changes | ||||
1089 files to transfer, 101 KB of data (no-zstd !) | 1090 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 101 KB in * seconds (*) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1089 files to transfer, 98.5 KB of data (zstd !) | 1090 files to transfer, 98.8 KB of data (zstd !) | ||||
transferred 98.5 KB in * seconds (*/sec) (glob) (zstd !) | transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | ||||
searching for changes | searching for changes | ||||
no changes found | no changes found | ||||
updating to branch default | updating to branch default | ||||
1087 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
#endif | #endif | ||||
#if stream-bundle2 | #if stream-bundle2 | ||||
$ hg clone --stream http://localhost:$HGPORT with-bookmarks | $ hg clone --stream http://localhost:$HGPORT with-bookmarks | ||||
streaming all changes | streaming all changes | ||||
1095 files to transfer, 102 KB of data (no-zstd !) | 1096 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1095 files to transfer, 98.8 KB of data (zstd !) | 1096 files to transfer, 99.1 KB of data (zstd !) | ||||
transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !) | ||||
updating to branch default | updating to branch default | ||||
1087 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
#endif | #endif | ||||
$ hg verify -R with-bookmarks | $ hg verify -R with-bookmarks | ||||
checking changesets | checking changesets | ||||
checking manifests | checking manifests | ||||
crosschecking files in changesets and manifests | crosschecking files in changesets and manifests | ||||
checking files | checking files | ||||
checked 3 changesets with 1087 changes to 1087 files | checked 3 changesets with 1088 changes to 1088 files | ||||
$ hg -R with-bookmarks bookmarks | $ hg -R with-bookmarks bookmarks | ||||
some-bookmark 2:42e820400e84 | some-bookmark 2:5223b5e3265f | ||||
Stream repository with phases | Stream repository with phases | ||||
----------------------------- | ----------------------------- | ||||
Clone as publishing | Clone as publishing | ||||
$ hg -R server phase -r 'all()' | $ hg -R server phase -r 'all()' | ||||
0: draft | 0: draft | ||||
1: draft | 1: draft | ||||
2: draft | 2: draft | ||||
#if stream-legacy | #if stream-legacy | ||||
$ hg clone --stream http://localhost:$HGPORT phase-publish | $ hg clone --stream http://localhost:$HGPORT phase-publish | ||||
streaming all changes | streaming all changes | ||||
1089 files to transfer, 101 KB of data (no-zstd !) | 1090 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1089 files to transfer, 98.5 KB of data (zstd !) | 1090 files to transfer, 98.8 KB of data (zstd !) | ||||
transferred 98.5 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | ||||
searching for changes | searching for changes | ||||
no changes found | no changes found | ||||
updating to branch default | updating to branch default | ||||
1087 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
#endif | #endif | ||||
#if stream-bundle2 | #if stream-bundle2 | ||||
$ hg clone --stream http://localhost:$HGPORT phase-publish | $ hg clone --stream http://localhost:$HGPORT phase-publish | ||||
streaming all changes | streaming all changes | ||||
1095 files to transfer, 102 KB of data (no-zstd !) | 1096 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1095 files to transfer, 98.8 KB of data (zstd !) | 1096 files to transfer, 99.1 KB of data (zstd !) | ||||
transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !) | ||||
updating to branch default | updating to branch default | ||||
1087 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
#endif | #endif | ||||
$ hg verify -R phase-publish | $ hg verify -R phase-publish | ||||
checking changesets | checking changesets | ||||
checking manifests | checking manifests | ||||
crosschecking files in changesets and manifests | crosschecking files in changesets and manifests | ||||
checking files | checking files | ||||
checked 3 changesets with 1087 changes to 1087 files | checked 3 changesets with 1088 changes to 1088 files | ||||
$ hg -R phase-publish phase -r 'all()' | $ hg -R phase-publish phase -r 'all()' | ||||
0: public | 0: public | ||||
1: public | 1: public | ||||
2: public | 2: public | ||||
Clone as non publishing | Clone as non publishing | ||||
$ cat << EOF >> server/.hg/hgrc | $ cat << EOF >> server/.hg/hgrc | ||||
> [phases] | > [phases] | ||||
> publish = False | > publish = False | ||||
> EOF | > EOF | ||||
$ killdaemons.py | $ killdaemons.py | ||||
$ hg -R server serve -p $HGPORT -d --pid-file=hg.pid | $ hg -R server serve -p $HGPORT -d --pid-file=hg.pid | ||||
$ cat hg.pid > $DAEMON_PIDS | $ cat hg.pid > $DAEMON_PIDS | ||||
#if stream-legacy | #if stream-legacy | ||||
With v1 of the stream protocol, changeset are always cloned as public. It make | With v1 of the stream protocol, changeset are always cloned as public. It make | ||||
stream v1 unsuitable for non-publishing repository. | stream v1 unsuitable for non-publishing repository. | ||||
$ hg clone --stream http://localhost:$HGPORT phase-no-publish | $ hg clone --stream http://localhost:$HGPORT phase-no-publish | ||||
streaming all changes | streaming all changes | ||||
1089 files to transfer, 101 KB of data (no-zstd !) | 1090 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1089 files to transfer, 98.5 KB of data (zstd !) | 1090 files to transfer, 98.8 KB of data (zstd !) | ||||
transferred 98.5 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | ||||
searching for changes | searching for changes | ||||
no changes found | no changes found | ||||
updating to branch default | updating to branch default | ||||
1087 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg -R phase-no-publish phase -r 'all()' | $ hg -R phase-no-publish phase -r 'all()' | ||||
0: public | 0: public | ||||
1: public | 1: public | ||||
2: public | 2: public | ||||
#endif | #endif | ||||
#if stream-bundle2 | #if stream-bundle2 | ||||
$ hg clone --stream http://localhost:$HGPORT phase-no-publish | $ hg clone --stream http://localhost:$HGPORT phase-no-publish | ||||
streaming all changes | streaming all changes | ||||
1096 files to transfer, 102 KB of data (no-zstd !) | 1097 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1096 files to transfer, 98.8 KB of data (zstd !) | 1097 files to transfer, 99.1 KB of data (zstd !) | ||||
transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) | transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !) | ||||
updating to branch default | updating to branch default | ||||
1087 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg -R phase-no-publish phase -r 'all()' | $ hg -R phase-no-publish phase -r 'all()' | ||||
0: draft | 0: draft | ||||
1: draft | 1: draft | ||||
2: draft | 2: draft | ||||
#endif | #endif | ||||
$ hg verify -R phase-no-publish | $ hg verify -R phase-no-publish | ||||
checking changesets | checking changesets | ||||
checking manifests | checking manifests | ||||
crosschecking files in changesets and manifests | crosschecking files in changesets and manifests | ||||
checking files | checking files | ||||
checked 3 changesets with 1087 changes to 1087 files | checked 3 changesets with 1088 changes to 1088 files | ||||
$ killdaemons.py | $ killdaemons.py | ||||
#if stream-legacy | #if stream-legacy | ||||
With v1 of the stream protocol, changeset are always cloned as public. There's | With v1 of the stream protocol, changeset are always cloned as public. There's | ||||
no obsolescence markers exchange in stream v1. | no obsolescence markers exchange in stream v1. | ||||
1: draft | 1: draft | ||||
0: draft | 0: draft | ||||
$ hg serve -p $HGPORT -d --pid-file=hg.pid | $ hg serve -p $HGPORT -d --pid-file=hg.pid | ||||
$ cat hg.pid > $DAEMON_PIDS | $ cat hg.pid > $DAEMON_PIDS | ||||
$ cd .. | $ cd .. | ||||
$ hg clone -U --stream http://localhost:$HGPORT with-obsolescence | $ hg clone -U --stream http://localhost:$HGPORT with-obsolescence | ||||
streaming all changes | streaming all changes | ||||
1097 files to transfer, 102 KB of data (no-zstd !) | 1098 files to transfer, 102 KB of data (no-zstd !) | ||||
transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
1097 files to transfer, 99.2 KB of data (zstd !) | 1098 files to transfer, 99.5 KB of data (zstd !) | ||||
transferred 99.2 KB in * seconds (* */sec) (glob) (zstd !) | transferred 99.5 KB in * seconds (* */sec) (glob) (zstd !) | ||||
$ hg -R with-obsolescence log -T '{rev}: {phase}\n' | $ hg -R with-obsolescence log -T '{rev}: {phase}\n' | ||||
2: draft | 2: draft | ||||
1: draft | 1: draft | ||||
0: draft | 0: draft | ||||
$ hg debugobsolete -R with-obsolescence | $ hg debugobsolete -R with-obsolescence | ||||
e53e122156df12330d3a0b72351e3a84bfd14195 0 {42e820400e843bc479ad36068ff772a69c8affe9} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | 8c206a663911c1f97f2f9d7382e417ae55872cfa 0 {5223b5e3265f0df40bb743da62249413d74ac70f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | ||||
$ hg verify -R with-obsolescence | $ hg verify -R with-obsolescence | ||||
checking changesets | checking changesets | ||||
checking manifests | checking manifests | ||||
crosschecking files in changesets and manifests | crosschecking files in changesets and manifests | ||||
checking files | checking files | ||||
checked 4 changesets with 1088 changes to 1087 files | checked 4 changesets with 1089 changes to 1088 files | ||||
$ hg clone -U --stream --config experimental.evolution=0 http://localhost:$HGPORT with-obsolescence-no-evolution | $ hg clone -U --stream --config experimental.evolution=0 http://localhost:$HGPORT with-obsolescence-no-evolution | ||||
streaming all changes | streaming all changes | ||||
remote: abort: server has obsolescence markers, but client cannot receive them via stream clone | remote: abort: server has obsolescence markers, but client cannot receive them via stream clone | ||||
abort: pull failed on remote | abort: pull failed on remote | ||||
[100] | [100] | ||||
$ killdaemons.py | $ killdaemons.py | ||||
#endif | #endif |