test-convert-svn-source.t
203 lines
| 4.8 KiB
| text/troff
|
Tads3Lexer
/ tests / test-convert-svn-source.t
Dan Villiom Podlaski Christiansen
|
r12370 | |||
$ "$TESTDIR/hghave" svn svn-bindings || exit 80 | ||||
Martin Geisler
|
r13519 | $ cat >> $HGRCPATH <<EOF | ||
Dan Villiom Podlaski Christiansen
|
r12370 | > [extensions] | ||
Mads Kiilerich
|
r17347 | > convert = | ||
Dan Villiom Podlaski Christiansen
|
r12370 | > graphlog = | ||
Pavel Boldin
|
r13494 | > [convert] | ||
> svn.trunk = mytrunk | ||||
Dan Villiom Podlaski Christiansen
|
r12370 | > EOF | ||
$ svnadmin create svn-repo | ||||
Mads Kiilerich
|
r17033 | $ SVNREPOPATH=`pwd`/svn-repo | ||
#if windows | ||||
$ SVNREPOURL=file:///`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"` | ||||
#else | ||||
$ SVNREPOURL=file://`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"` | ||||
#endif | ||||
Dan Villiom Podlaski Christiansen
|
r12370 | |||
Now test that it works with trunk/tags layout, but no branches yet. | ||||
Initial svn import | ||||
$ mkdir projB | ||||
$ cd projB | ||||
Pavel Boldin
|
r13494 | $ mkdir mytrunk | ||
Dan Villiom Podlaski Christiansen
|
r12370 | $ mkdir tags | ||
$ cd .. | ||||
Mads Kiilerich
|
r17033 | $ svn import -m "init projB" projB "$SVNREPOURL/proj%20B" | sort | ||
Patrick Mezard
|
r16525 | |||
Mads Kiilerich
|
r17044 | Adding projB/mytrunk (glob) | ||
Adding projB/tags (glob) | ||||
Dan Villiom Podlaski Christiansen
|
r12370 | Committed revision 1. | ||
Update svn repository | ||||
Mads Kiilerich
|
r17033 | $ svn co "$SVNREPOURL/proj%20B/mytrunk" B | ||
Dan Villiom Podlaski Christiansen
|
r12370 | Checked out revision 1. | ||
$ cd B | ||||
$ echo hello > 'letter .txt' | ||||
$ svn add 'letter .txt' | ||||
A letter .txt | ||||
$ svn ci -m hello | ||||
Adding letter .txt | ||||
Transmitting file data . | ||||
Committed revision 2. | ||||
$ "$TESTDIR/svn-safe-append.py" world 'letter .txt' | ||||
$ svn ci -m world | ||||
Sending letter .txt | ||||
Transmitting file data . | ||||
Committed revision 3. | ||||
Mads Kiilerich
|
r17033 | $ svn copy -m "tag v0.1" "$SVNREPOURL/proj%20B/mytrunk" "$SVNREPOURL/proj%20B/tags/v0.1" | ||
Dan Villiom Podlaski Christiansen
|
r12370 | |||
Committed revision 4. | ||||
$ "$TESTDIR/svn-safe-append.py" 'nice day today!' 'letter .txt' | ||||
$ svn ci -m "nice day" | ||||
Sending letter .txt | ||||
Transmitting file data . | ||||
Committed revision 5. | ||||
$ cd .. | ||||
Convert to hg once | ||||
Mads Kiilerich
|
r17033 | $ hg convert "$SVNREPOURL/proj%20B" B-hg | ||
Dan Villiom Podlaski Christiansen
|
r12370 | 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 | ||||
$ cd B | ||||
$ "$TESTDIR/svn-safe-append.py" "see second letter" 'letter .txt' | ||||
$ echo "nice to meet you" > letter2.txt | ||||
$ svn add letter2.txt | ||||
A letter2.txt | ||||
$ svn ci -m "second letter" | ||||
Sending letter .txt | ||||
Adding letter2.txt | ||||
Transmitting file data .. | ||||
Committed revision 6. | ||||
Mads Kiilerich
|
r17033 | $ svn copy -m "tag v0.2" "$SVNREPOURL/proj%20B/mytrunk" "$SVNREPOURL/proj%20B/tags/v0.2" | ||
Dan Villiom Podlaski Christiansen
|
r12370 | |||
Committed revision 7. | ||||
$ "$TESTDIR/svn-safe-append.py" "blah-blah-blah" letter2.txt | ||||
$ svn ci -m "work in progress" | ||||
Sending letter2.txt | ||||
Transmitting file data . | ||||
Committed revision 8. | ||||
$ cd .. | ||||
Mads Kiilerich
|
r17033 | $ hg convert -s svn "$SVNREPOURL/proj%20B/non-existent-path" dest | ||
Mads Kiilerich
|
r14152 | initializing destination dest repository | ||
abort: no revision found in module /proj B/non-existent-path | ||||
[255] | ||||
Dan Villiom Podlaski Christiansen
|
r12370 | ######################################## | ||
Test incremental conversion | ||||
Mads Kiilerich
|
r17033 | $ hg convert "$SVNREPOURL/proj%20B" B-hg | ||
Dan Villiom Podlaski Christiansen
|
r12370 | scanning source... | ||
sorting... | ||||
converting... | ||||
1 second letter | ||||
0 work in progress | ||||
updating tags | ||||
$ cd B-hg | ||||
$ hg glog --template '{rev} {desc|firstline} files: {files}\n' | ||||
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: | ||||
$ hg tags -q | ||||
tip | ||||
v0.2 | ||||
v0.1 | ||||
$ cd .. | ||||
Test filemap | ||||
$ echo 'include letter2.txt' > filemap | ||||
Mads Kiilerich
|
r17033 | $ hg convert --filemap filemap "$SVNREPOURL/proj%20B/mytrunk" fmap | ||
Dan Villiom Podlaski Christiansen
|
r12370 | 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 | ||||
Pavel Boldin
|
r13494 | $ hg -R fmap branch -q | ||
default | ||||
Dan Villiom Podlaski Christiansen
|
r12370 | $ hg glog -R fmap --template '{rev} {desc|firstline} files: {files}\n' | ||
o 1 work in progress files: letter2.txt | ||||
| | ||||
o 0 second letter files: letter2.txt | ||||
Test stop revision | ||||
Mads Kiilerich
|
r17033 | $ hg convert --rev 1 "$SVNREPOURL/proj%20B/mytrunk" stoprev | ||
Dan Villiom Podlaski Christiansen
|
r12370 | initializing destination stoprev repository | ||
scanning source... | ||||
sorting... | ||||
converting... | ||||
0 init projB | ||||
Pavel Boldin
|
r13494 | $ hg -R stoprev branch -q | ||
default | ||||
Dan Villiom Podlaski Christiansen
|
r12370 | |||
Check convert_revision extra-records. | ||||
This is also the only place testing more than one extra field in a revision. | ||||
$ cd stoprev | ||||
$ hg tip --debug | grep extra | ||||
extra: branch=default | ||||
Pavel Boldin
|
r13494 | extra: convert_revision=svn:........-....-....-....-............/proj B/mytrunk@1 (re) | ||
Dan Villiom Podlaski Christiansen
|
r12370 | $ cd .. | ||
Patrick Mezard
|
r16466 | |||
Test converting empty heads (issue3347) | ||||
$ svnadmin create svn-empty | ||||
$ svnadmin load -q svn-empty < "$TESTDIR/svn/empty.svndump" | ||||
$ hg --config convert.svn.trunk= convert svn-empty | ||||
assuming destination svn-empty-hg | ||||
initializing destination svn-empty-hg repository | ||||
scanning source... | ||||
sorting... | ||||
converting... | ||||
1 init projA | ||||
0 adddir | ||||
Mads Kiilerich
|
r17033 | $ hg --config convert.svn.trunk= convert "$SVNREPOURL/../svn-empty/trunk" | ||
Patrick Mezard
|
r16466 | assuming destination trunk-hg | ||
initializing destination trunk-hg repository | ||||
scanning source... | ||||
sorting... | ||||
converting... | ||||
1 init projA | ||||
0 adddir | ||||