##// END OF EJS Templates
convert/gnuarch: follow continuation-of revisions...
convert/gnuarch: follow continuation-of revisions Built on top of previous patches: - continuation-of parsing - registered archives retrieval - use of fully qualified revisions This allows the converter scanning for more source revisions following the tree versions 'leaked' through the continuation-of informations. Coupled with the registered archives retrieval, this makes possible to decide to follow such a hint or stop scanning for more revisions. This also implies some changes in the retrieval of some base-0 revisions when they're continuation-of other revisions, in that case a 'replay' will work where a simple 'get' fails because the dir exists already. I found the code dealing with 'replay' quite good as it has already a fallback to 'get' in the error path.

File last commit:

r7554:11a4eb81 1.1.2 default
r7585:075b7ef0 default
Show More
test-audit-path.out
27 lines | 770 B | text/plain | TextLexer
% should fail
abort: path contains illegal component: .hg/00changelog.i
adding a/a
% should fail
abort: path 'b/b' traverses symbolic link 'b'
% should succeed
% should still fail - maybe
abort: path 'b/b' traverses symbolic link 'b'
% unbundle tampered bundle
adding changesets
adding manifests
adding file changes
added 4 changesets with 5 changes to 5 files (+3 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
% attack .hg/test
.hg/test
abort: path contains illegal component: .hg/test
% attack foo/.hg/test
foo/.hg/test
abort: path 'foo/.hg/test' is inside repo 'foo'
% attack back/test where back symlinks to ..
back
back/test
abort: path 'back/test' traverses symbolic link 'back'
% attack ../test
../test
abort: path contains illegal component: ../test