The Third Bear

Just Right.

Trac MultiRepoSearch plugin v0.6 released

egj trac , opensource

Version 0.6 of MultiRepoSearchPlugin for Trac has been released.  The plugin is now faster and more robust than ever before!  An sdist can be downloaded from PyPI or with `pip install`/`easy_install trac-MultiRepoSearchPlugin`.

MultiRepoSearchPlugin allows you to perform full-text searches on your repositories' source code from Trac's "search" page.  It supports Trac 0.12 and higher and is designed to support multiple repositories.  The plugin is designed around a swappable indexing/search backend, with a default implementation that uses tables in your Trac database.

Recent changes include several essential performance improvements, like incremental reindexing when changesets are added, and more cautious code to ensure that searches don't fail with errors if indexes become out of date.  Also, the plugin's search source is now inactive by default, so it won't slow down searches on tickets, wiki pages, changesets, etc.

Future work on MultiRepoSearchPlugin will involve supporting fine-grained permission checks for repositories and source files; developing more configurable behavior (filepath/repository/branch includes/excludes; possibly maintaining parallel indexes for multiple branches); and exploring alternate search backends for faster and smarter searches.  In particular I'm very interested in a Solr-based backend and an asynchronous wrapper, but I'm also looking into Whoosh out of curiosity.