Touching test-clone-stream.t is very painful otherwise.
Details
Details
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
( )
Touching test-clone-stream.t is very painful otherwise.
| Automatic diff as part of commit; lint not applicable. |
| Automatic diff as part of commit; unit tests not applicable. |
| Path | Packages | |||
|---|---|---|---|---|
| M | tests/common-pattern.py (8 lines) | |||
| M | tests/test-bundle.t (2 lines) | |||
| M | tests/test-clone-stream.t (24 lines) | |||
| M | tests/test-http-bundle1.t (3 lines) | |||
| M | tests/test-stream-bundle-v2.t (4 lines) |
| # pushing to file:/*/$TESTTMP/r2 (glob) | # pushing to file:/*/$TESTTMP/r2 (glob) | ||||
| # comparing with file:/*/$TESTTMP/r2 (glob) | # comparing with file:/*/$TESTTMP/r2 (glob) | ||||
| # sub/maybelarge.dat: largefile 34..9c not available from | # sub/maybelarge.dat: largefile 34..9c not available from | ||||
| # file:/*/$TESTTMP/largefiles-repo (glob) | # file:/*/$TESTTMP/largefiles-repo (glob) | ||||
| ( | ( | ||||
| br'(.*file:/)/?(/\$TESTTMP.*)', | br'(.*file:/)/?(/\$TESTTMP.*)', | ||||
| lambda m: m.group(1) + b'*' + m.group(2) + b' (glob)', | lambda m: m.group(1) + b'*' + m.group(2) + b' (glob)', | ||||
| ), | ), | ||||
| # `hg clone --stream` output | |||||
| ( | |||||
| br'transferred (\S+?) KB in \S+? seconds \(.+?/sec\)(?: \(glob\))?(.*)', | |||||
| lambda m: ( | |||||
| br'transferred %s KB in * seconds (* */sec) (glob)%s' | |||||
| % (m.group(1), m.group(2)) | |||||
| ), | |||||
| ), | |||||
| ] | ] | ||||
| # Various platform error strings, keyed on a common replacement string | # Various platform error strings, keyed on a common replacement string | ||||
| _errors = { | _errors = { | ||||
| br'$ENOENT$': ( | br'$ENOENT$': ( | ||||
| # IOError in Python does not have the same error message | # IOError in Python does not have the same error message | ||||
| # than in Rust, and automatic conversion is not possible | # than in Rust, and automatic conversion is not possible | ||||
| # because of module member privacy. | # because of module member privacy. | ||||
| > [extensions] | > [extensions] | ||||
| > showtip = $TESTTMP/showtip.py | > showtip = $TESTTMP/showtip.py | ||||
| > EOF | > EOF | ||||
| $ hg -R packed debugapplystreamclonebundle packed.hg | $ hg -R packed debugapplystreamclonebundle packed.hg | ||||
| 6 files to transfer, 2.60 KB of data | 6 files to transfer, 2.60 KB of data | ||||
| pretxnopen: 000000000000 | pretxnopen: 000000000000 | ||||
| pretxnclose: aa35859c02ea | pretxnclose: aa35859c02ea | ||||
| transferred 2.60 KB in *.* seconds (* */sec) (glob) | transferred 2.60 KB in * seconds (* */sec) (glob) | ||||
| txnclose: aa35859c02ea | txnclose: aa35859c02ea | ||||
| (for safety, confirm visibility of streamclone-ed changes by another | (for safety, confirm visibility of streamclone-ed changes by another | ||||
| process, too) | process, too) | ||||
| $ hg -R packed tip -T "{node|short}\n" | $ hg -R packed tip -T "{node|short}\n" | ||||
| aa35859c02ea | aa35859c02ea | ||||
| $ 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 !) | 1089 files to transfer, 101 KB of data (no-zstd !) | ||||
| transferred 101 KB in * seconds (*/sec) (glob) (no-zstd !) | transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| 1089 files to transfer, 98.5 KB of data (zstd !) | 1089 files to transfer, 98.5 KB of data (zstd !) | ||||
| transferred 98.5 KB in * seconds (*/sec) (glob) (zstd !) | transferred 98.5 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 !) | 1092 files to transfer, 101 KB of data (no-zstd !) | ||||
| transferred 101 KB in * seconds (*/sec) (glob) (no-zstd !) | transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| 1092 files to transfer, 98.6 KB of data (zstd !) | 1092 files to transfer, 98.6 KB of data (zstd !) | ||||
| transferred 98.6 KB in * seconds (* */sec) (glob) (zstd !) | transferred 98.6 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 | ||||
| #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 !) | 1089 files to transfer, 101 KB of data (no-zstd !) | ||||
| transferred 101 KB in * seconds (*/sec) (glob) (no-zstd !) | transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| 1089 files to transfer, 98.5 KB of data (zstd !) | 1089 files to transfer, 98.5 KB of data (zstd !) | ||||
| transferred 98.5 KB in * seconds (*/sec) (glob) (zstd !) | transferred 98.5 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 !) | 1092 files to transfer, 101 KB of data (no-zstd !) | ||||
| transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| 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 !) | 1089 files to transfer, 101 KB of data (no-zstd !) | ||||
| 1089 files to transfer, 98.5 KB of data (zstd !) | 1089 files to transfer, 98.5 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 101 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| transferred 98.5 KB in * seconds (*/sec) (glob) (zstd !) | transferred 98.5 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 | ||||
| $ 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 !) | 1089 files to transfer, 101 KB of data (no-zstd !) | ||||
| transferred 101 KB in * seconds (*/sec) (glob) (no-zstd !) | transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| 1089 files to transfer, 98.5 KB of data (zstd !) | 1089 files to transfer, 98.5 KB of data (zstd !) | ||||
| transferred 98.5 KB in * seconds (*/sec) (glob) (zstd !) | transferred 98.5 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 !) | 1092 files to transfer, 101 KB of data (no-zstd !) | ||||
| transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| 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 !) | 1089 files to transfer, 101 KB of data (no-zstd !) | ||||
| transferred 101 KB in * seconds (*) (glob) (no-zstd !) | transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| 1089 files to transfer, 98.5 KB of data (zstd !) | 1089 files to transfer, 98.5 KB of data (zstd !) | ||||
| transferred 98.5 KB in * seconds (*/sec) (glob) (zstd !) | transferred 98.5 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 | 1087 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 | ||||
| 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 !) | 1089 files to transfer, 101 KB of data (no-zstd !) | ||||
| transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | transferred 101 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| 1089 files to transfer, 98.5 KB of data (zstd !) | 1089 files to transfer, 98.5 KB of data (zstd !) | ||||
| transferred 98.5 KB in * seconds (*/sec) (glob) (zstd !) | transferred 98.5 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 | 1087 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 | ||||
| [100] | [100] | ||||
| #if no-reposimplestore | #if no-reposimplestore | ||||
| ... but keep stream clones working | ... but keep stream clones working | ||||
| $ hg clone --stream --noupdate http://localhost:$HGPORT1/ test-stream-clone | $ hg clone --stream --noupdate http://localhost:$HGPORT1/ test-stream-clone | ||||
| streaming all changes | streaming all changes | ||||
| * files to transfer, * of data (glob) | * files to transfer, * of data (glob) | ||||
| transferred * in * seconds (* KB/sec) (glob) | transferred 1.36 KB in * seconds (* */sec) (glob) (no-zstd !) | ||||
| transferred 1.38 KB in * seconds (* */sec) (glob) (zstd !) | |||||
| searching for changes | searching for changes | ||||
| no changes found | no changes found | ||||
| #endif | #endif | ||||
| ... and also keep partial clones and pulls working | ... and also keep partial clones and pulls working | ||||
| $ hg clone http://localhost:$HGPORT1 --rev 0 test-partial-clone | $ hg clone http://localhost:$HGPORT1 --rev 0 test-partial-clone | ||||
| adding changesets | adding changesets | ||||
| adding manifests | adding manifests | ||||
| adding [s] data/D.i (66 bytes) | adding [s] data/D.i (66 bytes) | ||||
| adding [s] data/E.i (66 bytes) | adding [s] data/E.i (66 bytes) | ||||
| adding [s] 00manifest.i (584 bytes) | adding [s] 00manifest.i (584 bytes) | ||||
| adding [s] 00changelog.i (595 bytes) | adding [s] 00changelog.i (595 bytes) | ||||
| adding [s] phaseroots (43 bytes) | adding [s] phaseroots (43 bytes) | ||||
| adding [c] branch2-served (94 bytes) | adding [c] branch2-served (94 bytes) | ||||
| adding [c] rbc-names-v1 (7 bytes) | adding [c] rbc-names-v1 (7 bytes) | ||||
| adding [c] rbc-revs-v1 (40 bytes) | adding [c] rbc-revs-v1 (40 bytes) | ||||
| transferred 1.65 KB in \d\.\d seconds \(.*/sec\) (re) | transferred 1.65 KB in * seconds (* */sec) (glob) | ||||
| bundle2-input-part: total payload size 1840 | bundle2-input-part: total payload size 1840 | ||||
| bundle2-input-bundle: 1 parts total | bundle2-input-bundle: 1 parts total | ||||
| updating the branch cache | updating the branch cache | ||||
| finished applying clone bundle | finished applying clone bundle | ||||
| 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 | ||||
| adding [s] data/D.i (66 bytes) | adding [s] data/D.i (66 bytes) | ||||
| adding [s] data/E.i (66 bytes) | adding [s] data/E.i (66 bytes) | ||||
| adding [s] 00manifest.i (584 bytes) | adding [s] 00manifest.i (584 bytes) | ||||
| adding [s] 00changelog.i (595 bytes) | adding [s] 00changelog.i (595 bytes) | ||||
| adding [s] phaseroots (43 bytes) | adding [s] phaseroots (43 bytes) | ||||
| adding [c] branch2-served (94 bytes) | adding [c] branch2-served (94 bytes) | ||||
| adding [c] rbc-names-v1 (7 bytes) | adding [c] rbc-names-v1 (7 bytes) | ||||
| adding [c] rbc-revs-v1 (40 bytes) | adding [c] rbc-revs-v1 (40 bytes) | ||||
| transferred 1.65 KB in *.* seconds (*/sec) (glob) | transferred 1.65 KB in * seconds (* */sec) (glob) | ||||
| bundle2-input-part: total payload size 1840 | bundle2-input-part: total payload size 1840 | ||||
| bundle2-input-bundle: 1 parts total | bundle2-input-bundle: 1 parts total | ||||
| updating the branch cache | updating the branch cache | ||||
| finished applying clone bundle | finished applying clone bundle | ||||
| 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 | ||||