| 393 | | prop = prop.rsplit(':', 1) |
| 394 | | if len(prop) == 2: |
| 395 | | prop[1] = prop[1].replace(',', u',\u200b') |
| 396 | | return ':'.join(prop) |
| 397 | | |
| | 393 | """Parse svn:mergeinfo and svnmerge-* properties converting branch names |
| | 394 | and revisions to links.""" |
| | 395 | |
| | 396 | # Example of svn:mergeinfo property: "/otherbranch:18\n/trunk:7-9,12" |
| | 397 | |
| | 398 | ul = [] |
| | 399 | for line in prop.splitlines(): |
| | 400 | path,revs = line.split(':') |
| | 401 | li = [] |
| | 402 | li.append(tag.a(path, href=self.env.href.browser(path))) |
| | 403 | li.append(':') |
| | 404 | for rev in revs.split(','): |
| | 405 | if '-' in rev: |
| | 406 | range = rev.split('-') |
| | 407 | a = tag.a(rev, href=self.env.href.log(path, rev=range[1], |
| | 408 | stop_rev=range[0])) |
| | 409 | else: |
| | 410 | a = tag.a(rev, href=self.env.href.changeset(rev, path)) |
| | 411 | li.append(a) |
| | 412 | li.append(u',\u200b') |
| | 413 | li.pop() |
| | 414 | ul.append(tag.li(li)) |
| | 415 | |
| | 416 | return tag.ul(ul) |
| | 417 | |