##// 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 if source.startswith(srctagspath):
425 if source.startswith(srctagspath):
426 remainings.append([source, sourcerev, tagname])
426 remainings.append([source, sourcerev, tagname])
427 continue
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 try:
432 try:
430 tagid = self.latest(source, sourcerev)
433 tagid = self.latest(source, sourcerev)
431 if tagid:
434 if tagid and tagname not in tags:
432 tags[tagname] = tagid
435 tags[tagname] = tagid
433 except SvnPathNotFound:
436 except SvnPathNotFound:
434 # It happens when we are following directories we assumed
437 # It happens when we are following directories we assumed
@@ -44,6 +44,14 b' svn ci -m changea3'
44 svn up
44 svn up
45 svn mv tags/trunk.badtag tags/trunk.goodtag
45 svn mv tags/trunk.badtag tags/trunk.goodtag
46 svn ci -m "fix trunk.badtag"
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 cd ..
55 cd ..
48
56
49 svnadmin dump svn-repo > ../tags.svndump No newline at end of file
57 svnadmin dump svn-repo > ../tags.svndump
@@ -1,6 +1,6 b''
1 SVN-fs-dump-format-version: 2
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 Revision-number: 0
5 Revision-number: 0
6 Prop-content-length: 56
6 Prop-content-length: 56
@@ -9,7 +9,7 b' Content-length: 56'
9 K 8
9 K 8
10 svn:date
10 svn:date
11 V 27
11 V 27
12 2008-12-06T13:50:23.869747Z
12 2009-04-29T19:26:51.708679Z
13 PROPS-END
13 PROPS-END
14
14
15 Revision-number: 1
15 Revision-number: 1
@@ -27,7 +27,7 b' pmezard'
27 K 8
27 K 8
28 svn:date
28 svn:date
29 V 27
29 V 27
30 2008-12-06T13:50:23.944361Z
30 2009-04-29T19:26:52.115023Z
31 PROPS-END
31 PROPS-END
32
32
33 Node-path: branches
33 Node-path: branches
@@ -81,7 +81,7 b' pmezard'
81 K 8
81 K 8
82 svn:date
82 svn:date
83 V 27
83 V 27
84 2008-12-06T13:50:25.174397Z
84 2009-04-29T19:26:53.109819Z
85 PROPS-END
85 PROPS-END
86
86
87 Node-path: trunk/a
87 Node-path: trunk/a
@@ -90,6 +90,7 b' Node-action: add'
90 Prop-content-length: 10
90 Prop-content-length: 10
91 Text-content-length: 2
91 Text-content-length: 2
92 Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
92 Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
93 Text-content-sha1: 3f786850e387550fdab836ed7e6dc881de23001b
93 Content-length: 12
94 Content-length: 12
94
95
95 PROPS-END
96 PROPS-END
@@ -111,7 +112,7 b' pmezard'
111 K 8
112 K 8
112 svn:date
113 svn:date
113 V 27
114 V 27
114 2008-12-06T13:50:26.148468Z
115 2009-04-29T19:26:54.073017Z
115 PROPS-END
116 PROPS-END
116
117
117 Node-path: trunk/a
118 Node-path: trunk/a
@@ -119,6 +120,7 b' Node-kind: file'
119 Node-action: change
120 Node-action: change
120 Text-content-length: 4
121 Text-content-length: 4
121 Text-content-md5: 0d227f1abf8c2932d342e9b99cc957eb
122 Text-content-md5: 0d227f1abf8c2932d342e9b99cc957eb
123 Text-content-sha1: d7c8127a20a396cff08af086a1c695b0636f0c29
122 Content-length: 4
124 Content-length: 4
123
125
124 a
126 a
@@ -140,7 +142,7 b' pmezard'
140 K 8
142 K 8
141 svn:date
143 svn:date
142 V 27
144 V 27
143 2008-12-06T13:50:27.147988Z
145 2009-04-29T19:26:55.076032Z
144 PROPS-END
146 PROPS-END
145
147
146 Node-path: trunk/a
148 Node-path: trunk/a
@@ -148,6 +150,7 b' Node-kind: file'
148 Node-action: change
150 Node-action: change
149 Text-content-length: 6
151 Text-content-length: 6
150 Text-content-md5: 7d4ebf8f298d22fc349a91725b00af1c
152 Text-content-md5: 7d4ebf8f298d22fc349a91725b00af1c
153 Text-content-sha1: 92f31bc48f52339253fce6cad9f2f0c95b302f7e
151 Content-length: 6
154 Content-length: 6
152
155
153 a
156 a
@@ -170,7 +173,7 b' pmezard'
170 K 8
173 K 8
171 svn:date
174 svn:date
172 V 27
175 V 27
173 2008-12-06T13:50:28.174989Z
176 2009-04-29T19:26:56.095784Z
174 PROPS-END
177 PROPS-END
175
178
176 Node-path: unrelated/dummy
179 Node-path: unrelated/dummy
@@ -179,6 +182,7 b' Node-action: add'
179 Prop-content-length: 10
182 Prop-content-length: 10
180 Text-content-length: 2
183 Text-content-length: 2
181 Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
184 Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
185 Text-content-sha1: 3f786850e387550fdab836ed7e6dc881de23001b
182 Content-length: 12
186 Content-length: 12
183
187
184 PROPS-END
188 PROPS-END
@@ -200,7 +204,7 b' pmezard'
200 K 8
204 K 8
201 svn:date
205 svn:date
202 V 27
206 V 27
203 2008-12-06T13:50:32.157783Z
207 2009-04-29T19:27:00.074864Z
204 PROPS-END
208 PROPS-END
205
209
206 Node-path: tags/trunk.badtag
210 Node-path: tags/trunk.badtag
@@ -208,14 +212,6 b' Node-kind: dir'
208 Node-action: add
212 Node-action: add
209 Node-copyfrom-rev: 5
213 Node-copyfrom-rev: 5
210 Node-copyfrom-path: trunk
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 Node-path: tags/trunk.v1
217 Node-path: tags/trunk.v1
@@ -223,14 +219,6 b' Node-kind: dir'
223 Node-action: add
219 Node-action: add
224 Node-copyfrom-rev: 5
220 Node-copyfrom-rev: 5
225 Node-copyfrom-path: trunk
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 Revision-number: 7
224 Revision-number: 7
@@ -248,7 +236,7 b' pmezard'
248 K 8
236 K 8
249 svn:date
237 svn:date
250 V 27
238 V 27
251 2008-12-06T13:50:33.145803Z
239 2009-04-29T19:27:01.073910Z
252 PROPS-END
240 PROPS-END
253
241
254 Node-path: trunk/a
242 Node-path: trunk/a
@@ -256,6 +244,7 b' Node-kind: file'
256 Node-action: change
244 Node-action: change
257 Text-content-length: 8
245 Text-content-length: 8
258 Text-content-md5: d12178e74d8774e34361e0a08d1fd2b7
246 Text-content-md5: d12178e74d8774e34361e0a08d1fd2b7
247 Text-content-sha1: cce0b2a263066e26610df9082b7b3c810f71262e
259 Content-length: 8
248 Content-length: 8
260
249
261 a
250 a
@@ -279,7 +268,7 b' pmezard'
279 K 8
268 K 8
280 svn:date
269 svn:date
281 V 27
270 V 27
282 2008-12-06T13:50:36.153842Z
271 2009-04-29T19:27:04.073542Z
283 PROPS-END
272 PROPS-END
284
273
285 Node-path: tags/trunk.goodtag
274 Node-path: tags/trunk.goodtag
@@ -293,3 +282,83 b' Node-path: tags/trunk.badtag'
293 Node-action: delete
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 cd A-hg
29 cd A-hg
30 hg glog --template '#rev# #desc|firstline# tags: #tags#\n'
30 hg glog --template '#rev# #desc|firstline# tags: #tags#\n'
31 hg tags -q
31 hg tags | sed 's/:.*/:/'
32 cd ..
32 cd ..
33
33
34 echo % convert without tags
34 echo % convert without tags
@@ -3,17 +3,20 b' initializing destination A-hg repository'
3 scanning source...
3 scanning source...
4 sorting...
4 sorting...
5 converting...
5 converting...
6 4 init projA
6 5 init projA
7 3 adda
7 4 adda
8 2 changea
8 3 changea
9 1 changea2
9 2 changea2
10 0 changea3
10 1 changea3
11 0 changea
11 updating tags
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 o 4 changea3 tags:
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 o 2 changea tags:
21 o 2 changea tags:
19 |
22 |
@@ -21,17 +24,18 b' o 1 adda tags:'
21 |
24 |
22 o 0 init projA tags:
25 o 0 init projA tags:
23
26
24 tip
27 tip 6:
25 trunk.v1
28 trunk.goodtag 5:
26 trunk.goodtag
29 trunk.v1 3:
27 % convert without tags
30 % convert without tags
28 initializing destination A-notags-hg repository
31 initializing destination A-notags-hg repository
29 scanning source...
32 scanning source...
30 sorting...
33 sorting...
31 converting...
34 converting...
32 4 init projA
35 5 init projA
33 3 adda
36 4 adda
34 2 changea
37 3 changea
35 1 changea2
38 2 changea2
36 0 changea3
39 1 changea3
40 0 changea
37 tip
41 tip
General Comments 0
You need to be logged in to leave comments. Login now