comparison tests/test-convert-svn-source.t @ 12370:f98010f57a5e

tests: unify test-convert-svn-*
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Tue, 21 Sep 2010 18:40:33 +0200
parents tests/test-convert-svn-source@c52057614c72
children a5b77eb0409b
comparison
equal deleted inserted replaced
12369:6f0d9d79111f 12370:f98010f57a5e
1
2 $ "$TESTDIR/hghave" svn svn-bindings || exit 80
3
4 $ fixpath()
5 > {
6 > tr '\\' /
7 > }
8 $ cat > $HGRCPATH <<EOF
9 > [extensions]
10 > convert =
11 > graphlog =
12 > EOF
13
14 $ svnadmin create svn-repo
15 $ svnadmin setuuid svn-repo 00000000-0000-0000-0000-000000000000
16 $ svnpath=`pwd | fixpath`
17
18
19 $ expr "$svnpath" : "\/" > /dev/null
20 > if [ $? -ne 0 ]; then
21 > svnpath="/$svnpath"
22 > fi
23 > svnurl="file://$svnpath/svn-repo"
24
25 Now test that it works with trunk/tags layout, but no branches yet.
26
27 Initial svn import
28
29 $ mkdir projB
30 $ cd projB
31 $ mkdir trunk
32 $ mkdir tags
33 $ cd ..
34
35 $ svnurl="file://$svnpath/svn-repo/proj%20B"
36 $ svn import -m "init projB" projB "$svnurl" | fixpath
37 Adding projB/trunk
38 Adding projB/tags
39
40 Committed revision 1.
41
42 Update svn repository
43
44 $ svn co "$svnurl"/trunk B | fixpath
45 Checked out revision 1.
46 $ cd B
47 $ echo hello > 'letter .txt'
48 $ svn add 'letter .txt'
49 A letter .txt
50 $ svn ci -m hello
51 Adding letter .txt
52 Transmitting file data .
53 Committed revision 2.
54
55 $ "$TESTDIR/svn-safe-append.py" world 'letter .txt'
56 $ svn ci -m world
57 Sending letter .txt
58 Transmitting file data .
59 Committed revision 3.
60
61 $ svn copy -m "tag v0.1" "$svnurl"/trunk "$svnurl"/tags/v0.1
62
63 Committed revision 4.
64
65 $ "$TESTDIR/svn-safe-append.py" 'nice day today!' 'letter .txt'
66 $ svn ci -m "nice day"
67 Sending letter .txt
68 Transmitting file data .
69 Committed revision 5.
70 $ cd ..
71
72 Convert to hg once
73
74 $ hg convert "$svnurl" B-hg
75 initializing destination B-hg repository
76 scanning source...
77 sorting...
78 converting...
79 3 init projB
80 2 hello
81 1 world
82 0 nice day
83 updating tags
84
85 Update svn repository again
86
87 $ cd B
88 $ "$TESTDIR/svn-safe-append.py" "see second letter" 'letter .txt'
89 $ echo "nice to meet you" > letter2.txt
90 $ svn add letter2.txt
91 A letter2.txt
92 $ svn ci -m "second letter"
93 Sending letter .txt
94 Adding letter2.txt
95 Transmitting file data ..
96 Committed revision 6.
97
98 $ svn copy -m "tag v0.2" "$svnurl"/trunk "$svnurl"/tags/v0.2
99
100 Committed revision 7.
101
102 $ "$TESTDIR/svn-safe-append.py" "blah-blah-blah" letter2.txt
103 $ svn ci -m "work in progress"
104 Sending letter2.txt
105 Transmitting file data .
106 Committed revision 8.
107 $ cd ..
108
109 ########################################
110
111 Test incremental conversion
112
113 $ hg convert "$svnurl" B-hg
114 scanning source...
115 sorting...
116 converting...
117 1 second letter
118 0 work in progress
119 updating tags
120
121 $ cd B-hg
122 $ hg glog --template '{rev} {desc|firstline} files: {files}\n'
123 o 7 update tags files: .hgtags
124 |
125 o 6 work in progress files: letter2.txt
126 |
127 o 5 second letter files: letter .txt letter2.txt
128 |
129 o 4 update tags files: .hgtags
130 |
131 o 3 nice day files: letter .txt
132 |
133 o 2 world files: letter .txt
134 |
135 o 1 hello files: letter .txt
136 |
137 o 0 init projB files:
138
139 $ hg tags -q
140 tip
141 v0.2
142 v0.1
143 $ cd ..
144
145 Test filemap
146 $ echo 'include letter2.txt' > filemap
147 $ hg convert --filemap filemap "$svnurl"/trunk fmap
148 initializing destination fmap repository
149 scanning source...
150 sorting...
151 converting...
152 5 init projB
153 4 hello
154 3 world
155 2 nice day
156 1 second letter
157 0 work in progress
158 $ hg glog -R fmap --template '{rev} {desc|firstline} files: {files}\n'
159 o 1 work in progress files: letter2.txt
160 |
161 o 0 second letter files: letter2.txt
162
163
164 Test stop revision
165 $ hg convert --rev 1 "$svnurl"/trunk stoprev
166 initializing destination stoprev repository
167 scanning source...
168 sorting...
169 converting...
170 0 init projB
171
172 Check convert_revision extra-records.
173 This is also the only place testing more than one extra field in a revision.
174
175 $ cd stoprev
176 $ hg tip --debug | grep extra
177 extra: branch=default
178 extra: convert_revision=svn:00000000-0000-0000-0000-000000000000/proj B/trunk@1
179 $ cd ..