##// END OF EJS Templates
exchange: refactor bundle specification parsing...
exchange: refactor bundle specification parsing The old code was tailored to `hg bundle` usage and not appropriate for use as a general API, which clone bundles will require. The code has been rewritten to make it more generally suitable. We introduce dedicated error types to represent invalid and unsupported bundle specifications. The reason we need dedicated error types (rather than error.Abort) is because clone bundles will want to catch these exception as part of filtering entries. We don't want to swallow error.Abort on principle.

File last commit:

r26640:b13fdcc4 default
r26640:b13fdcc4 default
Show More
test-bundle-type.t
108 lines | 2.3 KiB | text/troff | Tads3Lexer
/ tests / test-bundle-type.t
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
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531 $ for t in "None" "bzip2" "gzip" "none-v2" "v2" "v1" "gzip-v1"; do
Martin Geisler
tests: unify test-bundle-type
r11872 > echo % test bundle type $t
> hg init t$t
> cd t1
> hg bundle -t $t ../b$t ../t$t
> cut -b 1-6 ../b$t | head -n 1
> cd ../t$t
Pierre-Yves David
test-bundle-type: replace unbundle with debugbundle...
r26511 > hg debugbundle ../b$t
> echo
Martin Geisler
tests: unify test-bundle-type
r11872 > cd ..
> done
% test bundle type None
searching for changes
1 changesets found
HG10UN
Pierre-Yves David
test-bundle-type: replace unbundle with debugbundle...
r26511 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
Martin Geisler
tests: unify test-bundle-type
r11872 % test bundle type bzip2
searching for changes
1 changesets found
HG10BZ
Pierre-Yves David
test-bundle-type: replace unbundle with debugbundle...
r26511 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
Martin Geisler
tests: unify test-bundle-type
r11872 % test bundle type gzip
searching for changes
1 changesets found
HG10GZ
Pierre-Yves David
test-bundle-type: replace unbundle with debugbundle...
r26511 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
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: {}
Pierre-Yves David
getsubset: get the unpacker version from the bundler...
r26595 changegroup -- "{'version': '02'}"
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
% test bundle type v2
searching for changes
1 changesets found
HG20\x00\x00 (esc)
Stream params: {'Compression': 'BZ'}
Pierre-Yves David
getsubset: get the unpacker version from the bundler...
r26595 changegroup -- "{'version': '02'}"
Pierre-Yves David
bundle: extend the format of --type to support version and compression...
r26531 c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
% test bundle type v1
searching for changes
1 changesets found
HG10BZ
c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
% test bundle type gzip-v1
searching for changes
1 changesets found
HG10GZ
c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
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
(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 ..