[Svnmerge] Directory conflicts, unicode values in array self.revs

Raman Gupta rocketraman at fastmail.fm
Tue Apr 1 22:18:22 PDT 2008


Hermanns, Horst wrote:
> Raman Gupta wrote:
>> Any chance you can provide a reproducible test script for this problem?
> 
> I'm not so familiar with the svnmerge_test.py, so I made a Shell-Script
> to reproduce the problem.
> [... useful test script snipped...]
> I hope this will help to solve the problem.

Thanks for the test script Horst. I'm really surprised this issue
hasn't come up before.

I believe the "right" way to solve this problem is to modify the
SvnLogParser to return revisions as int's, as I've done in the patch
below.

There was one usage of the SvnLogParser.revision() value (indirectly)
in action_init that expected a String, so there is a new str() cast in
that method.

All test cases, including Horst's test script, pass.

If anyone has any problems with this patch, please let me know.

Cheers,
Raman Gupta


Index: svnmerge.py
===================================================================
--- svnmerge.py (revision 30175)
+++ svnmerge.py (working copy)
@@ -869,7 +869,7 @@
         def __init__(self, xmlnode):
             self.n = xmlnode
         def revision(self):
-            return self.n.getAttribute("revision")
+            return int(self.n.getAttribute("revision"))
         def author(self):
             return
self.n.getElementsByTagName("author")[0].firstChild.data
         def paths(self):
@@ -1195,7 +1195,7 @@
             # which created the merge source:
             report('the source "%s" is a branch of "%s"' %
                    (opts["source-url"], target_dir))
-            revision_range = "1-" + copy_committed_in_rev
+            revision_range = "1-" + str(copy_committed_in_rev)
         else:
             # If the copy source is the merge source, and
             # the copy target is the merge target, then we want to



More information about the Svnmerge mailing list