# HG changeset patch # User Pierre-Yves David # Date 1678286603 -3600 # Node ID b61e5f763e013585f524a7aecbda3ac427d77aba # Parent 3cde8ed567d35fbdaa94089f09931f9d5e08d5a8 bundle: add some phase boundary in the bundle type test case Same logic as the previous one, we want the tests to cover richer cases. It actually reveal a bug in `hg bundle foo.hg REMOTE` involving secret. So this is definitly not a bad idea. diff -r 3cde8ed567d3 -r b61e5f763e01 tests/test-bundle-type.t --- a/tests/test-bundle-type.t Wed Mar 08 15:21:39 2023 +0100 +++ b/tests/test-bundle-type.t Wed Mar 08 15:43:23 2023 +0100 @@ -20,33 +20,39 @@ $ echo alklqo > file.txt $ hg ci -m commit_5 $ echo peakfeo > file.txt - $ hg ci -m commit_6 + $ hg ci -m commit_6 --secret + $ hg phase --public --rev 'desc(commit_3)' $ hg log -GT '[{phase}] {desc|firstline}\n' - @ [draft] commit_6 + @ [secret] commit_6 | o [draft] commit_5 | o [draft] commit_4 | - o [draft] commit_3 + o [public] commit_3 | | o [draft] commit_2 | | | o [draft] commit_1 |/ - o [draft] commit_root + o [public] commit_root +XXX the bundle generation is defined by a discovery round here. So the secret +changeset should be excluded. + $ hg bundle ../b1.hg ../t2 searching for changes - 7 changesets found + 7 changesets found (known-bad-output !) + 6 changesets found (missing-correct-output !) $ cd .. $ hg -R t2 unbundle ./b1.hg adding changesets adding manifests adding file changes - added 7 changesets with 7 changes to 1 files (+1 heads) + added 7 changesets with 7 changes to 1 files (+1 heads) (known-bad-output !) + added 6 changesets with 6 changes to 1 files (+1 heads) (missing-correct-output !) new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) (run 'hg heads' to see heads, 'hg merge' to merge) $ hg -R t2 up @@ -54,8 +60,8 @@ updated to "b9f5f740a8cd: commit_6" 1 other heads for branch "default" $ hg -R t2 log -GT '[{phase}] {desc|firstline}\n' - @ [draft] commit_6 - | + @ [draft] commit_6 (known-bad-output !) + | (known-bad-output !) o [draft] commit_5 | o [draft] commit_4 @@ -84,20 +90,30 @@ [10] test bundle types +================= + +since we use --all, it is okay to include the secret changeset here. It is +unfortunate that the phase information for the secret one is lost. $ testbundle() { > echo % test bundle type $1 + > echo '===================================' > hg -R t1 bundle --all --type $1 ./b-$1.hg > f -q -B6 -D ./b-$1.hg; echo > hg debugbundle ./b-$1.hg > hg debugbundle --spec ./b-$1.hg > echo + > hg init repo-from-type-$1 + > hg unbundle -R repo-from-type-$1 ./b-$1.hg + > hg -R repo-from-type-$1 log -GT '[{phase}] {desc|firstline}\n' + > echo > } $ for t in "None" "bzip2" "gzip" "none-v2" "v2" "v1" "gzip-v1"; do > testbundle $t > done % test bundle type None + =================================== 7 changesets found HG20\x00\x00 (esc) Stream params: {} @@ -112,7 +128,29 @@ cache:rev-branch-cache -- {} (mandatory: False) none-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type bzip2 + =================================== 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: BZ} @@ -127,7 +165,29 @@ cache:rev-branch-cache -- {} (mandatory: False) bzip2-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type gzip + =================================== 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: GZ} @@ -142,7 +202,29 @@ cache:rev-branch-cache -- {} (mandatory: False) gzip-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type none-v2 + =================================== 7 changesets found HG20\x00\x00 (esc) Stream params: {} @@ -157,7 +239,29 @@ cache:rev-branch-cache -- {} (mandatory: False) none-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type v2 + =================================== 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: BZ} @@ -172,7 +276,29 @@ cache:rev-branch-cache -- {} (mandatory: False) bzip2-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type v1 + =================================== 7 changesets found HG10BZ ac39af4a9f7d2aaa7d244720e57838be9bf63b03 @@ -184,7 +310,29 @@ b9f5f740a8cd76700020e3903ee55ecff78bd3e5 bzip2-v1 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type gzip-v1 + =================================== 7 changesets found HG10GZ ac39af4a9f7d2aaa7d244720e57838be9bf63b03 @@ -196,6 +344,27 @@ b9f5f740a8cd76700020e3903ee55ecff78bd3e5 gzip-v1 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + Compression level can be adjusted for bundle2 bundles @@ -238,6 +407,7 @@ > testbundle $t > done % test bundle type zstd + =================================== 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: ZS} @@ -252,7 +422,29 @@ cache:rev-branch-cache -- {} (mandatory: False) zstd-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + % test bundle type zstd-v2 + =================================== 7 changesets found HG20\x00\x00 (esc) Stream params: {Compression: ZS} @@ -267,13 +459,34 @@ cache:rev-branch-cache -- {} (mandatory: False) zstd-v2 + adding changesets + adding manifests + adding file changes + added 7 changesets with 7 changes to 1 files (+1 heads) + new changesets ac39af4a9f7d:b9f5f740a8cd (7 drafts) + (run 'hg heads' to see heads, 'hg merge' to merge) + o [draft] commit_6 + | + o [draft] commit_5 + | + o [draft] commit_4 + | + o [draft] commit_3 + | + | o [draft] commit_2 + | | + | o [draft] commit_1 + |/ + o [draft] commit_root + + Explicit request for zstd on non-generaldelta repos $ hg --config format.usegeneraldelta=false init nogd $ hg -q -R nogd pull t1 $ hg -R nogd bundle -a -t zstd nogd-zstd - 7 changesets found + 6 changesets found zstd-v1 always fails