@@ -331,6 +331,27 @@ def __change_node( self, dumpIndex, node ):
331
331
if fromRev != newFromRev :
332
332
change = 1
333
333
334
+ newMergeInfo = ""
335
+ if node .has_properties ():
336
+ properties = node .get_properties ()
337
+ if properties .has_key ('svn:mergeinfo' ):
338
+ mergeInfo = properties ['svn:mergeinfo' ]
339
+ for line in mergeInfo .split ('\n ' ):
340
+ m = re .match ('^(.*):(\d+)-(\d+)' , line )
341
+ if m != None :
342
+ mergePath = m .group (1 )
343
+ mergeFrom = int (m .group (2 ))
344
+ mergeTo = int (m .group (3 ))
345
+ newMergePath = self .__rename_path ( mergePath , dumpIndex )
346
+ newMergeFrom = self .__in_rev_nr_maps [dumpIndex ][mergeFrom ]
347
+ newMergeTo = self .__in_rev_nr_maps [dumpIndex ][mergeTo ]
348
+ if len (newMergeInfo ) != 0 :
349
+ newMergeInfo = newMergeInfo + "\n "
350
+ newMergeInfo = newMergeInfo + newMergePath + ":" + str (newMergeFrom ) + "-" + str (newMergeTo )
351
+
352
+ if mergeInfo != newMergeInfo :
353
+ change = 1
354
+
334
355
if not change :
335
356
# no change needed
336
357
return node
@@ -341,6 +362,8 @@ def __change_node( self, dumpIndex, node ):
341
362
newNode .set_copy_from ( newFromPath , newFromRev )
342
363
if node .has_properties ():
343
364
newNode .set_properties ( node .get_properties () )
365
+ if len (newMergeInfo ) > 0 :
366
+ newNode .set_property ( 'svn:mergeinfo' , newMergeInfo )
344
367
if node .has_text ():
345
368
newNode .set_text_node ( node )
346
369
return newNode
0 commit comments