annotate tests/test-bundle-type.t @ 30889:ffed3bf5cd4c stable

exchange: reject new compression engines for v1 bundles (issue5506) Version 1 bundles only support a fixed set of compression engines. Before this change, we would accept any compression engine for v1 bundles, even those that may not work on v1. This could lead to an error. We define a fixed set of compression engines known to work with v1 bundles and we add checking to ensure a newer engine (like zstd) won't work with v1 bundles. I also took the liberty of adding test coverage for unknown compression names because I noticed we didn't have coverage of it before.
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 16 Mar 2017 12:23:56 -0700
parents 76104a4899ad
children 10c0ee338535
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
1
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
2 $ cat << EOF >> $HGRCPATH
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
3 > [format]
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
4 > usegeneraldelta=yes
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
5 > EOF
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
6
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
7 bundle w/o type option
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
8
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
9 $ hg init t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
10 $ hg init t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
11 $ cd t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
12 $ echo blablablablabla > file.txt
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
13 $ hg ci -Ama
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
14 adding file.txt
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
15 $ hg log | grep summary
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
16 summary: a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
17 $ hg bundle ../b1 ../t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
18 searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
19 1 changesets found
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
20
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
21 $ cd ../t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
22 $ hg pull ../b1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
23 pulling from ../b1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
24 requesting all changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
25 adding changesets
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
26 adding manifests
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
27 adding file changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
28 added 1 changesets with 1 changes to 1 files
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
29 (run 'hg update' to get a working copy)
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
30 $ hg up
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
31 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
32 $ hg log | grep summary
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
33 summary: a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
34 $ cd ..
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
35
30889
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
36 Unknown compression type is rejected
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
37
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
38 $ hg init t3
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
39 $ cd t3
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
40 $ hg -q pull ../b1
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
41 $ hg bundle -a -t unknown out.hg
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
42 abort: unknown is not a recognized bundle specification
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
43 (see 'hg help bundle' for supported values for --type)
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
44 [255]
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
45
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
46 $ hg bundle -a -t unknown-v2 out.hg
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
47 abort: unknown compression is not supported
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
48 (see 'hg help bundle' for supported values for --type)
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
49 [255]
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
50
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
51 $ cd ..
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
52
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
53 test bundle types
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
54
30451
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
55 $ testbundle() {
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
56 > echo % test bundle type $1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
57 > hg init t$1
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
58 > cd t1
30451
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
59 > hg bundle -t $1 ../b$1 ../t$1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
60 > f -q -B6 -D ../b$1; echo
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
61 > cd ../t$1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
62 > hg debugbundle ../b$1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
63 > hg debugbundle --spec ../b$1
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
64 > echo
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
65 > cd ..
30451
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
66 > }
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
67
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
68 $ for t in "None" "bzip2" "gzip" "none-v2" "v2" "v1" "gzip-v1"; do
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
69 > testbundle $t
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
70 > done
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
71 % test bundle type None
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
72 searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
73 1 changesets found
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
74 HG20\x00\x00 (esc)
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
75 Stream params: {}
29593
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29592
diff changeset
76 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
77 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
78 none-v2
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
79
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
80 % test bundle type bzip2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
81 searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
82 1 changesets found
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
83 HG20\x00\x00 (esc)
29592
37cccad55410 util: implement a deterministic __repr__ on sortdict
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27885
diff changeset
84 Stream params: sortdict([('Compression', 'BZ')])
29593
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29592
diff changeset
85 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
86 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
87 bzip2-v2
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
88
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
89 % test bundle type gzip
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
90 searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
91 1 changesets found
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
92 HG20\x00\x00 (esc)
29592
37cccad55410 util: implement a deterministic __repr__ on sortdict
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27885
diff changeset
93 Stream params: sortdict([('Compression', 'GZ')])
29593
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29592
diff changeset
94 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
95 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
96 gzip-v2
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
97
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
98 % test bundle type none-v2
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
99 searching for changes
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
100 1 changesets found
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
101 HG20\x00\x00 (esc)
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
102 Stream params: {}
29593
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29592
diff changeset
103 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
104 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
105 none-v2
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
106
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
107 % test bundle type v2
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
108 searching for changes
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
109 1 changesets found
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
110 HG20\x00\x00 (esc)
29592
37cccad55410 util: implement a deterministic __repr__ on sortdict
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27885
diff changeset
111 Stream params: sortdict([('Compression', 'BZ')])
29593
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29592
diff changeset
112 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
113 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
114 bzip2-v2
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
115
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
116 % test bundle type v1
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
117 searching for changes
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
118 1 changesets found
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
119 HG10BZ
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
120 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
121 bzip2-v1
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
122
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
123 % test bundle type gzip-v1
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
124 searching for changes
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
125 1 changesets found
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
126 HG10GZ
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
127 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
128 gzip-v1
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
129
30758
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
130
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
131 Compression level can be adjusted for bundle2 bundles
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
132
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
133 $ hg init test-complevel
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
134 $ cd test-complevel
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
135
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
136 $ cat > file0 << EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
137 > this is a file
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
138 > with some text
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
139 > and some more text
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
140 > and other content
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
141 > EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
142 $ cat > file1 << EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
143 > this is another file
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
144 > with some other content
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
145 > and repeated, repeated, repeated, repeated content
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
146 > EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
147 $ hg -q commit -A -m initial
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
148
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
149 $ hg bundle -a -t gzip-v2 gzip-v2.hg
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
150 1 changesets found
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
151 $ f --size gzip-v2.hg
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
152 gzip-v2.hg: size=427
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
153
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
154 $ hg --config experimental.bundlecomplevel=1 bundle -a -t gzip-v2 gzip-v2-level1.hg
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
155 1 changesets found
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
156 $ f --size gzip-v2-level1.hg
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
157 gzip-v2-level1.hg: size=435
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
158
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
159 $ cd ..
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30451
diff changeset
160
30451
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
161 #if zstd
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
162
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
163 $ for t in "zstd" "zstd-v2"; do
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
164 > testbundle $t
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
165 > done
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
166 % test bundle type zstd
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
167 searching for changes
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
168 1 changesets found
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
169 HG20\x00\x00 (esc)
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
170 Stream params: sortdict([('Compression', 'ZS')])
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
171 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
172 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
173 zstd-v2
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
174
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
175 % test bundle type zstd-v2
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
176 searching for changes
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
177 1 changesets found
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
178 HG20\x00\x00 (esc)
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
179 Stream params: sortdict([('Compression', 'ZS')])
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
180 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
181 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
182 zstd-v2
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
183
30889
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
184
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
185 Explicit request for zstd on non-generaldelta repos
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
186
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
187 $ hg --config format.usegeneraldelta=false init nogd
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
188 $ hg -q -R nogd pull t1
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
189 $ hg -R nogd bundle -a -t zstd nogd-zstd
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
190 abort: compression engine zstd is not supported on v1 bundles
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
191 (see 'hg help bundle' for supported values for --type)
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
192 [255]
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
193
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
194 zstd-v1 always fails
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
195
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
196 $ hg -R tzstd bundle -a -t zstd-v1 zstd-v1
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
197 abort: compression engine zstd is not supported on v1 bundles
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
198 (see 'hg help bundle' for supported values for --type)
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
199 [255]
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
200
30451
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
201 #else
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
202
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
203 zstd is a valid engine but isn't available
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
204
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
205 $ hg -R t1 bundle -a -t zstd irrelevant.hg
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
206 abort: compression engine zstd could not be loaded
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
207 [255]
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
208
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29975
diff changeset
209 #endif
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
210
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
211 test garbage file
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
212
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
213 $ echo garbage > bgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
214 $ hg init tgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
215 $ cd tgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
216 $ hg pull ../bgarbage
24138
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16427
diff changeset
217 pulling from ../bgarbage
12044
bcc7139521b7 bundlerepo: remove duplication of bundle decompressors
Matt Mackall <mpm@selenic.com>
parents: 11872
diff changeset
218 abort: ../bgarbage: not a Mercurial bundle
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12044
diff changeset
219 [255]
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
220 $ cd ..
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
221
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
222 test invalid bundle type
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
223
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
224 $ cd t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
225 $ hg bundle -a -t garbage ../bgarbage
26640
b13fdcc4e700 exchange: refactor bundle specification parsing
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26595
diff changeset
226 abort: garbage is not a recognized bundle specification
29975
e65d33182fd4 bundle: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 29593
diff changeset
227 (see 'hg help bundle' for supported values for --type)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12044
diff changeset
228 [255]
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
229 $ cd ..