Version 12 (modified by HumanInternals, 13 years ago) (diff)


WikiFormatting for revision links on Trac with multiple repositories


When multiple repositories are configured, the r123 syntax doesn't enable you to specify the repository and the [changeset:123/repo] or [123/repo] syntax must be used instead. As I do find the r123 syntax more readable, I wrote this small plugin that lets you use 'r123repo' (simply add the repository name right after the changeset number), which is displayed as repo/r123 with a link to the changeset. Parsing repo/r123 syntax isn't possible (AFAIK) as the built-in parser parses the r123 part, so the syntax is r123repo but it displays as repo/r123.

Bugs/Feature Requests

I'm usually at #trac as shsek or shesek. My email is nadav at humaninternals /nospam/ com. You can also leave bug reports as a comment here, as I probably won't follow bug reports on the Trac here.

Existing bugs and feature requests for RepoRevisionSyntaxPlugin are here.

If you have any issues, create a new ticket.


Simply drop the source code as a .py file directly in your plugins directory


from trac.core import *
from import IWikiSyntaxProvider
from genshi.builder import tag

class RepoRevisionSyntax(Component):
    def get_wiki_syntax(self):
        yield ( r'[r#](?P<rev_id>\d+)(?P<repo>[a-zA-Z0-9_\/]+)', self._format_regex_link)
    def get_link_resolvers(self):
    def _format_regex_link(self, formatter, ns, match):
        return tag.a('%s/r%s' % ('repo'),'rev_id')),


Fixed by r78trac (as a ticket comment, for example) would get displayed as Fixed by trac/r78, trac/r78 being a link to the changeset.

Recent Changes

8337 by shesek on 2010-08-05 18:54:27
New hack RepoRevisionSyntaxPlugin, created by shesek


Author: shesek / Nadav
Maintainer: shesek
Contributors: Jonathan