Version 7 (modified by shesek, 6 years ago) (diff)


WikiSyntax 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

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 _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 20:54:27
New hack RepoRevisionSyntaxPlugin, created by shesek


Author: shesek / Nadav
Maintainer: shesek
Contributors: Jonathan