|
|
|
|
|
$ "$TESTDIR/hghave" svn svn-bindings || exit 80
|
|
|
|
|
|
$ cat > $HGRCPATH <<EOF
|
|
|
> [extensions]
|
|
|
> convert =
|
|
|
> graphlog =
|
|
|
> EOF
|
|
|
|
|
|
$ svnadmin create svn-repo
|
|
|
$ svnadmin load -q svn-repo < "$TESTDIR/svn/encoding.svndump"
|
|
|
|
|
|
Convert while testing all possible outputs
|
|
|
|
|
|
$ hg --debug convert svn-repo A-hg
|
|
|
initializing destination A-hg repository
|
|
|
reparent to file://*/svn-repo (glob)
|
|
|
run hg sink pre-conversion action
|
|
|
scanning source...
|
|
|
found trunk at 'trunk'
|
|
|
found tags at 'tags'
|
|
|
found branches at 'branches'
|
|
|
found branch branché at 5
|
|
|
found branch branchée at 6
|
|
|
scanning: 1 revisions
|
|
|
reparent to file://*/svn-repo/trunk (glob)
|
|
|
fetching revision log for "/trunk" from 4 to 0
|
|
|
parsing revision 4 (2 changes)
|
|
|
parsing revision 3 (4 changes)
|
|
|
parsing revision 2 (3 changes)
|
|
|
parsing revision 1 (3 changes)
|
|
|
no copyfrom path, don't know what to do.
|
|
|
'/branches' is not under '/trunk', ignoring
|
|
|
'/tags' is not under '/trunk', ignoring
|
|
|
scanning: 2 revisions
|
|
|
reparent to file://*/svn-repo/branches/branch%C3%A9 (glob)
|
|
|
fetching revision log for "/branches/branché" from 5 to 0
|
|
|
parsing revision 5 (1 changes)
|
|
|
reparent to file://*/svn-repo (glob)
|
|
|
reparent to file://*/svn-repo/branches/branch%C3%A9 (glob)
|
|
|
found parent of branch /branches/branché at 4: /trunk
|
|
|
scanning: 3 revisions
|
|
|
reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
|
|
|
fetching revision log for "/branches/branchée" from 6 to 0
|
|
|
parsing revision 6 (1 changes)
|
|
|
reparent to file://*/svn-repo (glob)
|
|
|
reparent to file://*/svn-repo/branches/branch%C3%A9e (glob)
|
|
|
found parent of branch /branches/branchée at 5: /branches/branché
|
|
|
scanning: 4 revisions
|
|
|
scanning: 5 revisions
|
|
|
scanning: 6 revisions
|
|
|
sorting...
|
|
|
converting...
|
|
|
5 init projA
|
|
|
source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@1
|
|
|
converting: 0/6 revisions (0.00%)
|
|
|
4 hello
|
|
|
source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@2
|
|
|
converting: 1/6 revisions (16.67%)
|
|
|
reparent to file://*/svn-repo/trunk (glob)
|
|
|
scanning paths: /trunk/à 0/3 (0.00%)
|
|
|
scanning paths: /trunk/à/é 1/3 (33.33%)
|
|
|
scanning paths: /trunk/é 2/3 (66.67%)
|
|
|
à/é
|
|
|
getting files: à/é 1/2 (50.00%)
|
|
|
é
|
|
|
getting files: é 2/2 (100.00%)
|
|
|
3 copy files
|
|
|
source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@3
|
|
|
converting: 2/6 revisions (33.33%)
|
|
|
scanning paths: /trunk/à 0/4 (0.00%)
|
|
|
gone from -1
|
|
|
reparent to file://*/svn-repo (glob)
|
|
|
reparent to file://*/svn-repo/trunk (glob)
|
|
|
scanning paths: /trunk/è 1/4 (25.00%)
|
|
|
copied to è from é@2
|
|
|
scanning paths: /trunk/é 2/4 (50.00%)
|
|
|
gone from -1
|
|
|
reparent to file://*/svn-repo (glob)
|
|
|
reparent to file://*/svn-repo/trunk (glob)
|
|
|
scanning paths: /trunk/ù 3/4 (75.00%)
|
|
|
mark /trunk/ù came from à:2
|
|
|
à/é
|
|
|
getting files: à/é 1/4 (25.00%)
|
|
|
è
|
|
|
getting files: è 2/4 (50.00%)
|
|
|
è: copy é:6b67ccefd5ce6de77e7ead4f5292843a0255329f
|
|
|
é
|
|
|
getting files: é 3/4 (75.00%)
|
|
|
ù/é
|
|
|
getting files: ù/é 4/4 (100.00%)
|
|
|
ù/é: copy à/é:a9092a3d84a37b9993b5c73576f6de29b7ea50f6
|
|
|
2 remove files
|
|
|
source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@4
|
|
|
converting: 3/6 revisions (50.00%)
|
|
|
scanning paths: /trunk/è 0/2 (0.00%)
|
|
|
gone from -1
|
|
|
reparent to file://*/svn-repo (glob)
|
|
|
reparent to file://*/svn-repo/trunk (glob)
|
|
|
scanning paths: /trunk/ù 1/2 (50.00%)
|
|
|
gone from -1
|
|
|
reparent to file://*/svn-repo (glob)
|
|
|
reparent to file://*/svn-repo/trunk (glob)
|
|
|
è
|
|
|
getting files: è 1/2 (50.00%)
|
|
|
ù/é
|
|
|
getting files: ù/é 2/2 (100.00%)
|
|
|
1 branch to branch?
|
|
|
source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?@5
|
|
|
converting: 4/6 revisions (66.67%)
|
|
|
reparent to file://*/svn-repo/branches/branch%C3%A9 (glob)
|
|
|
scanning paths: /branches/branché 0/1 (0.00%)
|
|
|
0 branch to branch?e
|
|
|
source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?e@6
|
|
|
converting: 5/6 revisions (83.33%)
|
|
|
reparent to file://*svn-repo/branches/branch%C3%A9e (glob)
|
|
|
scanning paths: /branches/branchée 0/1 (0.00%)
|
|
|
reparent to file://*svn-repo (glob)
|
|
|
reparent to file://*svn-repo/branches/branch%C3%A9e (glob)
|
|
|
reparent to file://*svn-repo (glob)
|
|
|
reparent to file://*svn-repo/branches/branch%C3%A9e (glob)
|
|
|
updating tags
|
|
|
.hgtags
|
|
|
run hg sink post-conversion action
|
|
|
$ cd A-hg
|
|
|
$ hg up
|
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
|
|
Check tags are in UTF-8
|
|
|
|
|
|
$ python -c "print '\n'.join([('%r' % l) for l in file('.hgtags', 'rb').readlines()])"
|
|
|
'221c3fdaf24df5f14c0a64c597581e2eacfb47bb branch\xc3\xa9e\n'
|
|
|
'7a40952c2db29cf00d9e31df3749e98d8a4bdcbf branch\xc3\xa9\n'
|
|
|
|
|
|
$ cd ..
|
|
|
|