##// END OF EJS Templates
convert/svn: keep latest and not oldest tag value
Patrick Mezard -
r8246:965b11c1 default
parent child Browse files
Show More
@@ -425,10 +425,13 b' class svn_source(converter_source):'
425 425 if source.startswith(srctagspath):
426 426 remainings.append([source, sourcerev, tagname])
427 427 continue
428 # From revision may be fake, get one with changes
428 if tagname in tags:
429 # Keep the latest tag value
430 continue
431 # From revision may be fake, get one with changes
429 432 try:
430 433 tagid = self.latest(source, sourcerev)
431 if tagid:
434 if tagid and tagname not in tags:
432 435 tags[tagname] = tagid
433 436 except SvnPathNotFound:
434 437 # It happens when we are following directories we assumed
@@ -44,6 +44,14 b' svn ci -m changea3'
44 44 svn up
45 45 svn mv tags/trunk.badtag tags/trunk.goodtag
46 46 svn ci -m "fix trunk.badtag"
47 echo a >> trunk/a
48 svn ci -m changea
49 # Delete goodtag and recreate it, to test we pick the good one
50 svn rm tags/trunk.goodtag
51 svn ci -m removegoodtag
52 svn up
53 svn copy trunk tags/trunk.goodtag
54 svn ci -m recreategoodtag
47 55 cd ..
48 56
49 57 svnadmin dump svn-repo > ../tags.svndump No newline at end of file
@@ -1,6 +1,6 b''
1 1 SVN-fs-dump-format-version: 2
2 2
3 UUID: 65371b91-a2cf-4cb1-a047-08b28c3b4c40
3 UUID: a9c3b03d-cffa-4248-8023-ecf4b2bdf5d5
4 4
5 5 Revision-number: 0
6 6 Prop-content-length: 56
@@ -9,7 +9,7 b' Content-length: 56'
9 9 K 8
10 10 svn:date
11 11 V 27
12 2008-12-06T13:50:23.869747Z
12 2009-04-29T19:26:51.708679Z
13 13 PROPS-END
14 14
15 15 Revision-number: 1
@@ -27,7 +27,7 b' pmezard'
27 27 K 8
28 28 svn:date
29 29 V 27
30 2008-12-06T13:50:23.944361Z
30 2009-04-29T19:26:52.115023Z
31 31 PROPS-END
32 32
33 33 Node-path: branches
@@ -81,7 +81,7 b' pmezard'
81 81 K 8
82 82 svn:date
83 83 V 27
84 2008-12-06T13:50:25.174397Z
84 2009-04-29T19:26:53.109819Z
85 85 PROPS-END
86 86
87 87 Node-path: trunk/a
@@ -90,6 +90,7 b' Node-action: add'
90 90 Prop-content-length: 10
91 91 Text-content-length: 2
92 92 Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
93 Text-content-sha1: 3f786850e387550fdab836ed7e6dc881de23001b
93 94 Content-length: 12
94 95
95 96 PROPS-END
@@ -111,7 +112,7 b' pmezard'
111 112 K 8
112 113 svn:date
113 114 V 27
114 2008-12-06T13:50:26.148468Z
115 2009-04-29T19:26:54.073017Z
115 116 PROPS-END
116 117
117 118 Node-path: trunk/a
@@ -119,6 +120,7 b' Node-kind: file'
119 120 Node-action: change
120 121 Text-content-length: 4
121 122 Text-content-md5: 0d227f1abf8c2932d342e9b99cc957eb
123 Text-content-sha1: d7c8127a20a396cff08af086a1c695b0636f0c29
122 124 Content-length: 4
123 125
124 126 a
@@ -140,7 +142,7 b' pmezard'
140 142 K 8
141 143 svn:date
142 144 V 27
143 2008-12-06T13:50:27.147988Z
145 2009-04-29T19:26:55.076032Z
144 146 PROPS-END
145 147
146 148 Node-path: trunk/a
@@ -148,6 +150,7 b' Node-kind: file'
148 150 Node-action: change
149 151 Text-content-length: 6
150 152 Text-content-md5: 7d4ebf8f298d22fc349a91725b00af1c
153 Text-content-sha1: 92f31bc48f52339253fce6cad9f2f0c95b302f7e
151 154 Content-length: 6
152 155
153 156 a
@@ -170,7 +173,7 b' pmezard'
170 173 K 8
171 174 svn:date
172 175 V 27
173 2008-12-06T13:50:28.174989Z
176 2009-04-29T19:26:56.095784Z
174 177 PROPS-END
175 178
176 179 Node-path: unrelated/dummy
@@ -179,6 +182,7 b' Node-action: add'
179 182 Prop-content-length: 10
180 183 Text-content-length: 2
181 184 Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
185 Text-content-sha1: 3f786850e387550fdab836ed7e6dc881de23001b
182 186 Content-length: 12
183 187
184 188 PROPS-END
@@ -200,7 +204,7 b' pmezard'
200 204 K 8
201 205 svn:date
202 206 V 27
203 2008-12-06T13:50:32.157783Z
207 2009-04-29T19:27:00.074864Z
204 208 PROPS-END
205 209
206 210 Node-path: tags/trunk.badtag
@@ -208,14 +212,6 b' Node-kind: dir'
208 212 Node-action: add
209 213 Node-copyfrom-rev: 5
210 214 Node-copyfrom-path: trunk
211 Prop-content-length: 34
212 Content-length: 34
213
214 K 13
215 svn:mergeinfo
216 V 0
217
218 PROPS-END
219 215
220 216
221 217 Node-path: tags/trunk.v1
@@ -223,14 +219,6 b' Node-kind: dir'
223 219 Node-action: add
224 220 Node-copyfrom-rev: 5
225 221 Node-copyfrom-path: trunk
226 Prop-content-length: 34
227 Content-length: 34
228
229 K 13
230 svn:mergeinfo
231 V 0
232
233 PROPS-END
234 222
235 223
236 224 Revision-number: 7
@@ -248,7 +236,7 b' pmezard'
248 236 K 8
249 237 svn:date
250 238 V 27
251 2008-12-06T13:50:33.145803Z
239 2009-04-29T19:27:01.073910Z
252 240 PROPS-END
253 241
254 242 Node-path: trunk/a
@@ -256,6 +244,7 b' Node-kind: file'
256 244 Node-action: change
257 245 Text-content-length: 8
258 246 Text-content-md5: d12178e74d8774e34361e0a08d1fd2b7
247 Text-content-sha1: cce0b2a263066e26610df9082b7b3c810f71262e
259 248 Content-length: 8
260 249
261 250 a
@@ -279,7 +268,7 b' pmezard'
279 268 K 8
280 269 svn:date
281 270 V 27
282 2008-12-06T13:50:36.153842Z
271 2009-04-29T19:27:04.073542Z
283 272 PROPS-END
284 273
285 274 Node-path: tags/trunk.goodtag
@@ -293,3 +282,83 b' Node-path: tags/trunk.badtag'
293 282 Node-action: delete
294 283
295 284
285 Revision-number: 9
286 Prop-content-length: 108
287 Content-length: 108
288
289 K 7
290 svn:log
291 V 7
292 changea
293 K 10
294 svn:author
295 V 7
296 pmezard
297 K 8
298 svn:date
299 V 27
300 2009-04-29T19:27:05.095204Z
301 PROPS-END
302
303 Node-path: trunk/a
304 Node-kind: file
305 Node-action: change
306 Text-content-length: 10
307 Text-content-md5: 3f65cbdca1b64c2f8f574fccae24f3a4
308 Text-content-sha1: 5c077263421de2abff9dbe867921bc6810811aa2
309 Content-length: 10
310
311 a
312 a
313 a
314 a
315 a
316
317
318 Revision-number: 10
319 Prop-content-length: 115
320 Content-length: 115
321
322 K 7
323 svn:log
324 V 13
325 removegoodtag
326 K 10
327 svn:author
328 V 7
329 pmezard
330 K 8
331 svn:date
332 V 27
333 2009-04-29T19:27:06.089193Z
334 PROPS-END
335
336 Node-path: tags/trunk.goodtag
337 Node-action: delete
338
339
340 Revision-number: 11
341 Prop-content-length: 117
342 Content-length: 117
343
344 K 7
345 svn:log
346 V 15
347 recreategoodtag
348 K 10
349 svn:author
350 V 7
351 pmezard
352 K 8
353 svn:date
354 V 27
355 2009-04-29T19:27:09.070471Z
356 PROPS-END
357
358 Node-path: tags/trunk.goodtag
359 Node-kind: dir
360 Node-action: add
361 Node-copyfrom-rev: 10
362 Node-copyfrom-path: trunk
363
364
@@ -28,7 +28,7 b' hg convert --datesort $svnurl A-hg'
28 28
29 29 cd A-hg
30 30 hg glog --template '#rev# #desc|firstline# tags: #tags#\n'
31 hg tags -q
31 hg tags | sed 's/:.*/:/'
32 32 cd ..
33 33
34 34 echo % convert without tags
@@ -3,17 +3,20 b' initializing destination A-hg repository'
3 3 scanning source...
4 4 sorting...
5 5 converting...
6 4 init projA
7 3 adda
8 2 changea
9 1 changea2
10 0 changea3
6 5 init projA
7 4 adda
8 3 changea
9 2 changea2
10 1 changea3
11 0 changea
11 12 updating tags
12 o 5 update tags tags: tip
13 o 6 update tags tags: tip
14 |
15 o 5 changea tags: trunk.goodtag
13 16 |
14 17 o 4 changea3 tags:
15 18 |
16 o 3 changea2 tags: trunk.v1 trunk.goodtag
19 o 3 changea2 tags: trunk.v1
17 20 |
18 21 o 2 changea tags:
19 22 |
@@ -21,17 +24,18 b' o 1 adda tags:'
21 24 |
22 25 o 0 init projA tags:
23 26
24 tip
25 trunk.v1
26 trunk.goodtag
27 tip 6:
28 trunk.goodtag 5:
29 trunk.v1 3:
27 30 % convert without tags
28 31 initializing destination A-notags-hg repository
29 32 scanning source...
30 33 sorting...
31 34 converting...
32 4 init projA
33 3 adda
34 2 changea
35 1 changea2
36 0 changea3
35 5 init projA
36 4 adda
37 3 changea
38 2 changea2
39 1 changea3
40 0 changea
37 41 tip
General Comments 0
You need to be logged in to leave comments. Login now