Index: trac/versioncontrol/svn_fs.py
===================================================================
--- trac/versioncontrol/svn_fs.py	(revisión: 8263)
+++ trac/versioncontrol/svn_fs.py	(copia de trabajo)
@@ -48,6 +48,7 @@
 import time
 import weakref
 import posixpath
+import re
 from datetime import datetime
 
 from genshi.builder import tag
@@ -390,11 +391,25 @@
                        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)
-
+        # svn:mergeinfo property example: "/otherbranch:18\n/trunk:7-9,12"
+        ul = []
+        for path,revs in re.findall('/(.+?):([\d\-,]+)',prop):
+            li = []
+            li.append(tag.a(path,href=self.env.abs_href('browser',path)))
+            li.append(': ')
+            for rev in revs.split(','):
+                if '-' in rev:
+                    range = rev.split('-')
+                    a = tag.a(rev,href=self.env.abs_href('log',path,rev=range[1],stop_rev=range[0]))
+                else:
+                    a = tag.a(rev,href=self.env.abs_href('changeset',rev,path))
+                li.append(' ')
+                li.append(a)
+            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")

