view tests/test-convert-svn-source.out @ 11988:8380ed691df8

util: add an interpolate() function to for replacing multiple values util.interpolate can be used to replace multiple items in a string all at once (and optionally apply a function to the replacement), without worrying about recursing: >>> import util >>> s = '$foo, $spam' >>> util.interpolate(r'\$', { 'foo': 'bar', 'spam': 'eggs' }, s) 'bar, eggs' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s) 'spam, foo' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s, lambda s: s.upper()) 'SPAM, FOO' The patch also changes filemerge.py to use this new function.
author Steve Losh <steve@stevelosh.com>
date Wed, 18 Aug 2010 18:18:26 -0400
parents b1a4f67b98d0
children
line wrap: on
line source

# now tests that it works with trunk/tags layout, but no branches yet

% initial svn import
Adding         projB/trunk
Adding         projB/tags

Committed revision 1.
% update svn repository
Checked out revision 1.
A         letter .txt
Adding         letter .txt
Transmitting file data .
Committed revision 2.
Sending        letter .txt
Transmitting file data .
Committed revision 3.

Committed revision 4.
Sending        letter .txt
Transmitting file data .
Committed revision 5.
% convert to hg once
initializing destination B-hg repository
scanning source...
sorting...
converting...
3 init projB
2 hello
1 world
0 nice day
updating tags
% update svn repository again
A         letter2.txt
Sending        letter .txt
Adding         letter2.txt
Transmitting file data ..
Committed revision 6.

Committed revision 7.
Sending        letter2.txt
Transmitting file data .
Committed revision 8.
% test incremental conversion
scanning source...
sorting...
converting...
1 second letter
0 work in progress
updating tags
o  7 update tags files: .hgtags
|
o  6 work in progress files: letter2.txt
|
o  5 second letter files: letter .txt letter2.txt
|
o  4 update tags files: .hgtags
|
o  3 nice day files: letter .txt
|
o  2 world files: letter .txt
|
o  1 hello files: letter .txt
|
o  0 init projB files:

tip
v0.2
v0.1
% test filemap
initializing destination fmap repository
scanning source...
sorting...
converting...
5 init projB
4 hello
3 world
2 nice day
1 second letter
0 work in progress
o  1 work in progress files: letter2.txt
|
o  0 second letter files: letter2.txt

% test stop revision
initializing destination stoprev repository
scanning source...
sorting...
converting...
0 init projB
extra:       branch=
extra:       convert_revision=