Search the source code repository


This plugin allows users to search the source code repository (TracBrowser). See also TracSuposePlugin and MultiRepoSearchPlugin.

If you are using Trac 0.12+ with non-SVN repositories and/or multiple repositories, try using MultiRepoSearchPlugin.

Bugs/Feature Requests

Existing bugs and feature requests for RepoSearchPlugin are here.

If you have any issues, create a new ticket.


30 / 36


15 / 20


3 / 3


Download the zipped source from here.


You can check out RepoSearchPlugin from here using Subversion, or browse the source with Trac.


General instructions on installing Trac plugins can be found on the TracPlugins page.

Depending on how you do the install, you may need to add a line to your trac.ini file:

tracreposearch.* = enabled

and then reload your web server's configuration.


To use the repository search, users must have the REPO_SEARCH permission.

You can include and exclude parts of the repository by adding the following options to your trac.ini file:

include = *.py:*.txt
exclude = *.pyc:*.png:*.jpg:*.gif:*/README

The globs are separated by your operating systems path separator, ie : under UNIX, ; under Windows, and each glob is matched against the full path. Hence */README instead of just README.


  • If you specify an absolute path glob in an include or exclude clause for a Subversion repository, then the leading slash has to be omitted, eg exclude = trunk/old/*. If you are using Perforce, the absolute paths need to start with two leading slashes, eg exclude=//depot/jobs/*.
  • If only include is specified, then the default is to exclude all other files.

To speed up searches, an indexer is included. A full index will occur the first time you search the repository, which can take quite some time. Subsequent changesets will be incrementally indexed and should be pretty snappy.

The indexer is enabled by default and will use the PYTHON_EGG_CACHE directory to store its data. You can override this location by adding the following entry to your trac.ini file:

index = /my/trac/env/idx

The index option is a a directory that must be writable by the web server user. The indexer should cope well with changes to the include/exclude lists. Newly included files will be indexed, and newly excluded files will be removed from the word:file mapping table.

Note: Under Win32 you will need the pywin32 module for the indexer to work.

Recent Changes

16772 by rjollos on 2017-08-26 03:29:35
TracReposearch 0.2: Add license info
9664 by rjollos on 2010-12-12 06:43:46
Removing pydev project file that was accidentally checked-in.
9663 by rjollos on 2010-12-12 06:39:18
Use \S in the regular expression that extracts words. \S will match any non-whitespace character, whereas \w only matches alphanumeric characters and the underscore. Refs #5938.


Author: athomas
Maintainer: Alex Smith

Last modified 7 years ago Last modified on Sep 2, 2017, 8:28:47 AM