The Third Bear

Just Right.

Trac plugins for cloning tickets and searching repositories

egj trac , opensource

I've released two new Trac plugins to Trac Hacks, PyPI and Github.

MultiRepoSearch allows you to perform full-text searches on your repositories' source code from within Trac.  It is based heavily on RepoSearchPlugin by Alec Thomas and Ryan Ollos but with enough significant differences that a new plugin seemed worthwhile.  Those differences are:

  1. It is designed to support Trac 0.12+, against multiple repositories and different repository types
  2. It consumes a pluggable search backend, so you can provide an alternate searching implementation
  3. The default searching implementation "caches" the latest versions of all source code contents in new tables within the Trac database, which seems to be faster than the RepoSearchPlugin's approach, and should be much easier to maintain

So far I have only tested it on a multi-repo Git-only setup against Trac trunk.  I'll try to test it against other permutations and version-control backends in the coming weeks.  Bug reports, feature requests and patches (or confirmations that it works out of the box :-)) are welcome.

NewTicketLikeThis is a small plugin that implements pluggable "cloning" functionality.  It is also based on an existing plugin -- the tracopt.ticket.clone.ticketclonebutton extension that ships with recent versions of the Trac core -- but provides a pluggable system for implementing cloning policies, which determine how to derive a new ticket from the old ticket's values.  This could be used to implement variable policies per ticket type and so on.