annotate tests/test-bundle-type.t @ 44767:234882d17814 stable

packaging: support building WiX installers with PyOxidizer We initially implemented PyOxidizer support for Inno installers. That did most of the heavy work of integrating PyOxidizer into the packaging system. Implementing WiX installer support was pretty straightforward. Aspects of this patch look very similar to Inno's. The main difference is the handling of the Visual C++ Redistributable Runtime files. The WiX installer was formerly using merge modules to install the VC++ 9.0 runtime because this feature is supported by the WiX installer (it isn't easily available to Inno installers). Our strategy for the runtime files is to install the vcruntime140.dll file next to hg.exe just like any other file. While we could leverage WiX's functionality for invoking a VCRedist installer, I don't want to deal with the complexity at this juncture. So, we let run_pyoxidizer() copy vcruntime140.dll into the staging directory (like it does for Inno) and our dynamic WiX XML generator picks it up as a regular file and installs it. We did, however, have to teach mercurial.wxs how to conditionally use the merge modules. But this was rather straightforward. Comparing the file layout of the WiX installers before and after: * Various lib/*.{pyd, dll} files no longer exist * python27.dll was replaced by python37.dll * vcruntime140.dll was added All these changes are expected due to the transition to Python 3 and to PyOxidizer, which embeded the .pyd and .dll files in hg.exe. Differential Revision: https://phab.mercurial-scm.org/D8477
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 20 Apr 2020 17:42:50 -0700
parents 89630d0b3e23
children 8d72e29ad1e0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
1 bundle w/o type option
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
3 $ hg init t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
4 $ hg init t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
5 $ cd t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
6 $ echo blablablablabla > file.txt
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
7 $ hg ci -Ama
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
8 adding file.txt
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
9 $ hg log | grep summary
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
10 summary: a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
11 $ hg bundle ../b1 ../t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
12 searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
13 1 changesets found
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
14
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
15 $ cd ../t2
37336
5d10f41ddcc4 tests: use `hg unbundle` instead of `hg pull` in some tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37330
diff changeset
16 $ hg unbundle ../b1
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
17 adding changesets
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
18 adding manifests
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
19 adding file changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
20 added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 37842
diff changeset
21 new changesets c35a0f9217e6 (1 drafts)
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
22 (run 'hg update' to get a working copy)
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
23 $ hg up
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
24 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
25 $ hg log | grep summary
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
26 summary: a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
27 $ cd ..
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
28
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
29 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
30
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
31 $ hg init t3
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
32 $ cd t3
37336
5d10f41ddcc4 tests: use `hg unbundle` instead of `hg pull` in some tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37330
diff changeset
33 $ hg -q unbundle ../b1
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
34 $ 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
35 abort: unknown is not a recognized bundle specification
31794
54b1af732415 commands: update help for "bundle"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31474
diff changeset
36 (see 'hg help bundlespec' for supported values for --type)
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
37 [255]
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
38
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
39 $ 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
40 abort: unknown compression is not supported
31794
54b1af732415 commands: update help for "bundle"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31474
diff changeset
41 (see 'hg help bundlespec' for supported values for --type)
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
42 [255]
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
43
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
44 $ cd ..
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
45
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
46 test bundle types
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
47
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
48 $ testbundle() {
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
49 > echo % test bundle type $1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
50 > hg init t$1
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
51 > cd t1
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
52 > hg bundle -t $1 ../b$1 ../t$1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
53 > f -q -B6 -D ../b$1; echo
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
54 > cd ../t$1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
55 > hg debugbundle ../b$1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
56 > 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
57 > echo
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
58 > cd ..
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
59 > }
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
60
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
61 $ 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: 29971
diff changeset
62 > testbundle $t
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
63 > done
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
64 % test bundle type None
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
65 searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
66 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
67 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
68 Stream params: {}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
69 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
70 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
71 cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
72 none-v2
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
73
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
74 % test bundle type bzip2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
75 searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
76 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
77 HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
78 Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
79 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
80 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
81 cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
82 bzip2-v2
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
83
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
84 % test bundle type gzip
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
85 searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
86 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
87 HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
88 Stream params: {Compression: GZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
89 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
90 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
91 cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
92 gzip-v2
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
93
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
94 % 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
95 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
96 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
97 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
98 Stream params: {}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
99 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
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
100 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
101 cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
102 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
103
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 % 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
105 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
106 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
107 HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
108 Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
109 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
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
110 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
111 cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
112 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
113
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
114 % 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
115 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
116 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
117 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
118 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
119 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
120
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
121 % 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
122 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
123 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
124 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
125 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
126 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
127
30758
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
128
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
129 Compression level can be adjusted for bundle2 bundles
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
130
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
131 $ hg init test-complevel
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
132 $ cd test-complevel
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
133
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
134 $ cat > file0 << EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
135 > this is a file
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
136 > with some text
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
137 > and some more text
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
138 > and other content
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
139 > EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
140 $ cat > file1 << EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
141 > this is another file
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
142 > with some other content
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
143 > and repeated, repeated, repeated, repeated content
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
144 > EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
145 $ hg -q commit -A -m initial
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
146
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
147 $ 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: 30442
diff changeset
148 1 changesets found
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
149 $ f --size gzip-v2.hg
36965
b89a7ef29013 bundle: include advisory rev branch cache part in bundle2 bundle
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
150 gzip-v2.hg: size=468
30758
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
151
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
152 $ 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: 30442
diff changeset
153 1 changesets found
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
154 $ f --size gzip-v2-level1.hg
36965
b89a7ef29013 bundle: include advisory rev branch cache part in bundle2 bundle
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
155 gzip-v2-level1.hg: size=475
30758
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
156
37769
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
157 $ hg --config experimental.bundlecomplevel.gzip=1 --config experimental.bundlelevel=9 bundle -a -t gzip-v2 gzip-v2-level1.hg
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
158 1 changesets found
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
159 $ f --size gzip-v2-level1.hg
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
160 gzip-v2-level1.hg: size=475
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
161
30758
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
162 $ cd ..
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
163
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
164 #if zstd
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
165
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
166 $ for t in "zstd" "zstd-v2"; do
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
167 > testbundle $t
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
168 > done
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
169 % test bundle type zstd
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
170 searching for changes
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
171 1 changesets found
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
172 HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
173 Stream params: {Compression: ZS}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
174 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
175 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
176 cache:rev-branch-cache -- {} (mandatory: False)
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
177 zstd-v2
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
178
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
179 % test bundle type zstd-v2
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
180 searching for changes
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
181 1 changesets found
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
182 HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
183 Stream params: {Compression: ZS}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
184 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
185 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
186 cache:rev-branch-cache -- {} (mandatory: False)
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
187 zstd-v2
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
188
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
189
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
190 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
191
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
192 $ 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
193 $ 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
194 $ hg -R nogd bundle -a -t zstd nogd-zstd
31474
10c0ee338535 exchange: use v2 bundles for modern compression engines (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31473
diff changeset
195 1 changesets found
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
196
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
197 zstd-v1 always fails
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
198
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
199 $ 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
200 abort: compression engine zstd is not supported on v1 bundles
31794
54b1af732415 commands: update help for "bundle"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31474
diff changeset
201 (see 'hg help bundlespec' for supported values for --type)
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
202 [255]
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
203
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
204 #else
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
205
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
206 zstd is a valid engine but isn't available
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
207
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
208 $ hg -R t1 bundle -a -t zstd irrelevant.hg
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
209 abort: compression engine zstd could not be loaded
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
210 [255]
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
211
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
212 #endif
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
213
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
214 test garbage file
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
215
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
216 $ echo garbage > bgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
217 $ hg init tgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
218 $ cd tgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
219 $ 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
220 pulling from ../bgarbage
12044
bcc7139521b7 bundlerepo: remove duplication of bundle decompressors
Matt Mackall <mpm@selenic.com>
parents: 11872
diff changeset
221 abort: ../bgarbage: not a Mercurial bundle
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12044
diff changeset
222 [255]
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
223 $ cd ..
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
224
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
225 test invalid bundle type
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
226
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
227 $ cd t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
228 $ hg bundle -a -t garbage ../bgarbage
26640
b13fdcc4e700 exchange: refactor bundle specification parsing
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26595
diff changeset
229 abort: garbage is not a recognized bundle specification
31794
54b1af732415 commands: update help for "bundle"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31474
diff changeset
230 (see 'hg help bundlespec' for supported values for --type)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12044
diff changeset
231 [255]
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
232 $ cd ..