Mercurial > hg
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 .. |