Index: trac/versioncontrol/svn_fs.py
===================================================================
--- trac/versioncontrol/svn_fs.py	(revisión: 8263)
+++ trac/versioncontrol/svn_fs.py	(copia de trabajo)
@@ -390,11 +390,31 @@
                        for label, href, title in externals_data])
 
     def _render_mergeinfo(self, prop):
-        prop = prop.rsplit(':', 1)
-        if len(prop) == 2:
-            prop[1] = prop[1].replace(',', u',\u200b')
-        return ':'.join(prop)
-
+        """Parse svn:mergeinfo and svnmerge-* properties converting branch names
+        and revisions to links."""
+        
+        # Example of svn:mergeinfo property: "/otherbranch:18\n/trunk:7-9,12"
+        
+        ul = []
+        for line in prop.splitlines():
+            path,revs = line.split(':')
+            li = []
+            li.append(tag.a(path, href=self.env.href.browser(path)))
+            li.append(':')
+            for rev in revs.split(','):
+                if '-' in rev:
+                    range = rev.split('-')
+                    a = tag.a(rev, href=self.env.href.log(path, rev=range[1], 
+                                                          stop_rev=range[0]))
+                else:
+                    a = tag.a(rev, href=self.env.href.changeset(rev, path))
+                li.append(a)
+                li.append(u',\u200b')
+            li.pop()
+            ul.append(tag.li(li))
+            
+        return tag.ul(ul)      
+     
     def _render_needslock(self, context):
         return tag.img(src=context.href.chrome('common/lock-locked.png'),
                        alt="needs lock", title="needs lock")

