The Trac Repository Browser
Table of Contents
The Trac repository browser can be used to browse specific revisions of directories and files stored in the repositories associated with the Trac environment.
(since 0.12): At the top-level of the repository browser is the Repository Index, listing all the configured repositories. Each repository has a name which is used as a path prefix in a "virtual" file hierarchy encompassing all the available repositories. If a default repository has been configured, its top-level files and directories are also listed, in a Default Repository section placed before the repository index. If the default repository is the only repository associated with the Trac environment the Repository Index will be omitted (1).
Directory entries are displayed in a list with sortable columns. The list entries can be sorted by Name, Size, Age or Author by clicking on the column headers. The sort order can be reversed by clicking on a given column header again.
The browser can be used to navigate through the directory structure by clicking on the directory names. Clicking on a file name will show the contents of the file. Clicking on the revision number of a file or directory will take you to the TracRevisionLog for that file. Note that there's also a Revision Log navigation link that will do the same for the path currently being examined. Clicking on the diff icon after revision number will display the changes made to the files modified in that revision. Clicking on the Age of the file - will take you to that changeset in the timeline.
It's also possible to browse directories or files as they were in history, at any given repository revision. The default behavior is to display the latest revision but another revision number can easily be selected using the View revision input field at the top of the page.
The color bar next to the Age column gives a visual indication of the age of the last change to a file or directory, following the convention that blue is oldest and red is newest, but this can be configured.
At the top of the browser page, there's a Visit drop-down menu which you can use to select some interesting places in the repository, for example branches or tags. This is sometimes referred to as the browser quickjump facility. The precise meaning and content of this menu depends on your repository backend. For Subversion, this list contains by default the top-level trunk directory and sub-directories of the top-level branches and tags directories (/trunk, /branches/*, and /tags/*). This can be configured for more advanced cases.
- use 'j' and 'k' to select the next or previous entry, starting with the first
- 'o' (open) to toggle between expanded and collapsed state of the selected directory or for visiting the selected file
- 'v' (view, visit) and '<Enter>', same as above
- 'r' can be used to force the reload of an already expanded directory
- 'A' can be used to directly visit a file in annotate (blame) mode
- 'L' to view the log for the selected entry
If no row has been selected using 'j' or 'k' these keys will operate on the entry under the mouse .
For the Subversion backend, some advanced additional features are available:
- The svn:needs-lock property will be displayed
- Support for the svn:mergeinfo property showing the merged and eligible information
- Support for browsing the svn:externals property (which can be configured)
- The svn:mime-type property is used to select the syntax highlighter for rendering the file. For example, setting svn:mime-type to text/html will ensure the file is highlighted as HTML, regardless of the file extension. It also allows selecting the character encoding used in the file content. For example, if the file content is encoded in UTF-8, set svn:mime-type to text/html;charset=utf-8. The charset= specification overrides the default encoding defined in the default_charset option of the [trac] section of trac.ini.
(1) - This means that after upgrading a single-repository Trac of version 0.11 (or below) to a multi-repository Trac (0.12), the repository browser will look and feel the same, that single repository becoming automatically the "default" repository.