##// END OF EJS Templates
extensions: register functions always at loading extension (issue5601)...
extensions: register functions always at loading extension (issue5601) Before this patch, functions defined in extensions are registered via extra loaders only in _dispatch(). Therefore, loading extensions in other code paths like below omits registration of functions. - WSGI service - operation across repositories (e.g. subrepo) - test-duplicateoptions.py, using extensions.loadall() directly To register functions always at loading new extension, this patch moves implementation for extra loading from dispatch._dispatch() to extensions.loadall(). AFAIK, only commands module causes cyclic dependency between extensions module, but this patch imports all related modules just before extra loading in loadall(), in order to centralize them. This patch makes extensions.py depend on many other modules, even though extensions.py itself doesn't. It should be avoided if possible, but I don't have any better idea. Some other places like below aren't reasonable for extra loading, IMHO. - specific function in newly added module: existing callers of extensions.loadall() should invoke it, too - hg.repository() or so: no-repo commands aren't covered by this. BTW, this patch removes _loaded.add(name) on relocation, because dispatch._loaded is used only for extraloaders (for similar reason, "exts" variable is removed, too).

File last commit:

r31794:54b1af73 default
r33052:45b0e9d0 default
Show More
test-bundle-type.t
227 lines | 5.2 KiB | text/troff | Tads3Lexer
/ tests / test-bundle-type.t
Pierre-Yves David
test: use generaldelta in 'test-bundle-type.t'...
r26925
$ cat << EOF >> $HGRCPATH
> [format]
> usegeneraldelta=yes
> EOF
Martin Geisler
tests: unify test-bundle-type
r11872 bundle w/o type option
$ hg init t1
$ hg init t2
$ cd t1
$ echo blablablablabla > file.txt
$ hg ci -Ama
adding file.txt
$ hg log | grep summary
summary: a
$ hg bundle ../b1 ../t2
searching for changes
1 changesets found
$ cd ../t2
$ hg pull ../b1
pulling from ../b1
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
$ hg up
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg log | grep summary
summary: a
$ cd ..
Gregory Szorc
exchange: reject new compression engines for v1 bundles (issue5506)...
r31473 Unknown compression type is rejected
$ hg init t3
$ cd t3
$ hg -q pull ../b1
$ hg bundle -a -t unknown out.hg
abort: unknown is not a recognized bundle specification
Gregory Szorc
commands: update help for "bundle"...
r31794 (see 'hg help bundlespec' for supported values for --type)
Gregory Szorc
exchange: reject new compression engines for v1 bundles (issue5506)...
r31473 [255]
$ hg bundle -a -t unknown-v2 out.hg
abort: unknown compression is not supported
Gregory Szorc
commands: update help for "bundle"...
r31794 (see 'hg help bundlespec' for supported values for --type)
Gregory Szorc
exchange: reject new compression engines for v1 bundles (issue5506)...
r31473 [255]
$ cd ..
Martin Geisler
tests: unify test-bundle-type
r11872 test bundle types
Gregory Szorc
util: implement zstd compression engine...
r30442 $ testbundle() {
> echo % test bundle type $1
> hg init t$1
Martin Geisler
tests: unify test-bundle-type
r11872 > cd t1
Gregory Szorc
util: implement zstd compression engine...
r30442 > hg bundle -t $1 ../b$1 ../t$1
> f -q -B6 -D ../b$1; echo
> cd ../t$1
> hg debugbundle ../b$1
> hg debugbundle --spec ../b$1
Pierre-Yves David
test-bundle-type: replace unbundle with debugbundle...
r26511 > echo
Martin Geisler
tests: unify test-bundle-type
r11872 > cd ..
Gregory Szorc
util: implement zstd compression engine...
r30442 > }
$ for t in "None" "bzip2" "gzip" "none-v2" "v2" "v1" "gzip-v1"; do
> testbundle $t
Martin Geisler
tests: unify test-bundle-type
r11872 > done
% test bundle type None
searching for changes
1 changesets found
Pierre-Yves David
test: use generaldelta in 'test-bundle-type.t'...
r26925 HG20\x00\x00 (esc)
Stream params: {}
Gregory Szorc
bundle2: store changeset count when creating file bundles...
r29593 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
Pierre-Yves David
test: use generaldelta in 'test-bundle-type.t'...
r26925 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885 none-v2
Pierre-Yves David
test-bundle-type: replace unbundle with debugbundle...
r26511
Martin Geisler
tests: unify test-bundle-type
r11872 % test bundle type bzip2
searching for changes
1 changesets found
Pierre-Yves David
test: use generaldelta in 'test-bundle-type.t'...
r26925 HG20\x00\x00 (esc)
Gregory Szorc
util: implement a deterministic __repr__ on sortdict...
r29592 Stream params: sortdict([('Compression', 'BZ')])
Gregory Szorc
bundle2: store changeset count when creating file bundles...
r29593 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
Pierre-Yves David
test: use generaldelta in 'test-bundle-type.t'...
r26925 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885 bzip2-v2
Pierre-Yves David
test-bundle-type: replace unbundle with debugbundle...
r26511
Martin Geisler
tests: unify test-bundle-type
r11872 % test bundle type gzip
searching for changes
1 changesets found
Pierre-Yves David
test: use generaldelta in 'test-bundle-type.t'...
r26925 HG20\x00\x00 (esc)
Gregory Szorc
util: implement a deterministic __repr__ on sortdict...
r29592 Stream params: sortdict([('Compression', 'GZ')])
Gregory Szorc
bundle2: store changeset count when creating file bundles...
r29593 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
Pierre-Yves David
test: use generaldelta in 'test-bundle-type.t'...
r26925 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885 gzip-v2
Pierre-Yves David
test-bundle-type: replace unbundle with debugbundle...
r26511
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531 % test bundle type none-v2
searching for changes
1 changesets found
HG20\x00\x00 (esc)
Stream params: {}
Gregory Szorc
bundle2: store changeset count when creating file bundles...
r29593 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885 none-v2
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531
% test bundle type v2
searching for changes
1 changesets found
HG20\x00\x00 (esc)
Gregory Szorc
util: implement a deterministic __repr__ on sortdict...
r29592 Stream params: sortdict([('Compression', 'BZ')])
Gregory Szorc
bundle2: store changeset count when creating file bundles...
r29593 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885 bzip2-v2
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531
% test bundle type v1
searching for changes
1 changesets found
HG10BZ
c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885 bzip2-v1
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531
% test bundle type gzip-v1
searching for changes
1 changesets found
HG10GZ
c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885 gzip-v1
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531
Gregory Szorc
commands: config option to control bundle compression level...
r30758
Compression level can be adjusted for bundle2 bundles
$ hg init test-complevel
$ cd test-complevel
$ cat > file0 << EOF
> this is a file
> with some text
> and some more text
> and other content
> EOF
$ cat > file1 << EOF
> this is another file
> with some other content
> and repeated, repeated, repeated, repeated content
> EOF
$ hg -q commit -A -m initial
$ hg bundle -a -t gzip-v2 gzip-v2.hg
1 changesets found
$ f --size gzip-v2.hg
gzip-v2.hg: size=427
$ hg --config experimental.bundlecomplevel=1 bundle -a -t gzip-v2 gzip-v2-level1.hg
1 changesets found
$ f --size gzip-v2-level1.hg
gzip-v2-level1.hg: size=435
$ cd ..
Gregory Szorc
util: implement zstd compression engine...
r30442 #if zstd
$ for t in "zstd" "zstd-v2"; do
> testbundle $t
> done
% test bundle type zstd
searching for changes
1 changesets found
HG20\x00\x00 (esc)
Stream params: sortdict([('Compression', 'ZS')])
changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
zstd-v2
% test bundle type zstd-v2
searching for changes
1 changesets found
HG20\x00\x00 (esc)
Stream params: sortdict([('Compression', 'ZS')])
changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
zstd-v2
Gregory Szorc
exchange: reject new compression engines for v1 bundles (issue5506)...
r31473
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
Gregory Szorc
exchange: use v2 bundles for modern compression engines (issue5506)...
r31474 1 changesets found
Gregory Szorc
exchange: reject new compression engines for v1 bundles (issue5506)...
r31473
zstd-v1 always fails
$ hg -R tzstd bundle -a -t zstd-v1 zstd-v1
abort: compression engine zstd is not supported on v1 bundles
Gregory Szorc
commands: update help for "bundle"...
r31794 (see 'hg help bundlespec' for supported values for --type)
Gregory Szorc
exchange: reject new compression engines for v1 bundles (issue5506)...
r31473 [255]
Gregory Szorc
util: implement zstd compression engine...
r30442 #else
zstd is a valid engine but isn't available
$ hg -R t1 bundle -a -t zstd irrelevant.hg
abort: compression engine zstd could not be loaded
[255]
#endif
Martin Geisler
tests: unify test-bundle-type
r11872
test garbage file
$ echo garbage > bgarbage
$ hg init tgarbage
$ cd tgarbage
$ hg pull ../bgarbage
Thomas Arendsen Hein
pull: print "pulling from foo" before accessing the other repo...
r24138 pulling from ../bgarbage
Matt Mackall
bundlerepo: remove duplication of bundle decompressors
r12044 abort: ../bgarbage: not a Mercurial bundle
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bundle-type
r11872 $ cd ..
test invalid bundle type
$ cd t1
$ hg bundle -a -t garbage ../bgarbage
Gregory Szorc
exchange: refactor bundle specification parsing...
r26640 abort: garbage is not a recognized bundle specification
Gregory Szorc
commands: update help for "bundle"...
r31794 (see 'hg help bundlespec' for supported values for --type)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bundle-type
r11872 $ cd ..