##// END OF EJS Templates
pycompat: custom implementation of urllib.parse.quote()...
pycompat: custom implementation of urllib.parse.quote() urllib.parse.quote() accepts either str or bytes and returns str. There exists a urllib.parse.quote_from_bytes() which only accepts bytes. We should probably use that to retain strong typing and avoid surprises. In addition, since nearly all strings in Mercurial are bytes, we probably don't want quote() returning unicode. So, this patch implements a custom quote() that only accepts bytes and returns bytes. The quoted URL should only contain URL safe characters which is a strict subset of ASCII. So `.encode('ascii', 'strict')` should be safe.

File last commit:

r30758:76104a48 default
r31400:fb1f7033 default
Show More
test-bundle-type.t
195 lines | 4.4 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 ..
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
#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
timeless
bundle: use single quotes in use warning
r29971 (see 'hg help bundle' 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 ..