[EMAIL PROTECTED] wrote:
Author: giovannibajo
Date: Fri May 12 09:33:18 2006
New Revision: 19626

Modified:
   trunk/contrib/client-side/svnmerge.py

Log:
Fix a bug with XML regexp parsing: the path information interpolated within
the regular expression must be correctly escaped.

 * contrib/client-side/svnmerge.py:
   (get_copyfrom): Use re.escape to interpolate the path within the regular
   expression.


Modified: trunk/contrib/client-side/svnmerge.py
URL: 
http://svn.collab.net/viewvc/svn/trunk/contrib/client-side/svnmerge.py?pathrev=19626&r1=19625&r2=19626
==============================================================================
--- trunk/contrib/client-side/svnmerge.py       (original)
+++ trunk/contrib/client-side/svnmerge.py       Fri May 12 09:33:18 2006
@@ -712,7 +712,8 @@
                     split_lines=False)
     out = out.replace("\n", " ")
     try:
-        m = re.search(r'(<path\s[^>]*action="A"[^>]*>%s</path>)' % rlpath, out)
+        m = re.search(r'(<path\s[^>]*action="A"[^>]*>%s</path>)'
+                      % re.escape(rlpath), out)
         head = re.search(r'copyfrom-path="([^"]*)"', m.group(1)).group(1)
         rev = re.search(r'copyfrom-rev="([^"]*)"', m.group(1)).group(1)
         return head,rev

I'm thinking instead of using regex's over the XML, which granted is fast, a cleaner approach may be to use an XML parsing library. I'm thinking of xmltramp, which generates a nice tree of dictionaries and lists using the XML, which then we could iterate over.

http://www.aaronsw.com/2002/xmltramp/

xmltramp has been around for a while, so it probably has support for older versions of Python.

Regards,
Blair

--
Blair Zajac, Ph.D.
<[EMAIL PROTECTED]>
Subversion training, consulting and support
http://www.orcaware.com/svn/
_______________________________________________
Svnmerge mailing list
[email protected]
http://www.orcaware.com/mailman/listinfo/svnmerge

Reply via email to