| 1 | = The Trac Repository Browser = |
| 2 | [[TracGuideToc]] |
| 3 | |
| 4 | The Trac repository browser can be used to browse specific revisions of directories |
| 5 | and files stored in the repositories associated with the Trac environment. |
| 6 | |
| 7 | ''(since 0.12)'': |
| 8 | At the top-level of the repository browser is the '''Repository Index''', |
| 9 | listing all the configured repositories. |
| 10 | Each repository has a name which is used as a path prefix in a |
| 11 | "virtual" file hierarchy encompassing all the available repositories. |
| 12 | One of the repositories can be configured with an empty name; this is the default repository. When such a default repository is present, its top-level files and directories |
| 13 | are also listed, in a '''Default Repository''' section placed before the |
| 14 | repository index. If the default repository is the only repository associated |
| 15 | with the Trac environment the '''Repository Index''' will be omitted ^[#note-multirepos (1)]^. |
| 16 | |
| 17 | Directory entries are displayed in a list with sortable columns. The list |
| 18 | entries can be sorted by ''Name'', ''Size'', ''Age'' or ''Author'' by clicking on the column |
| 19 | headers. The sort order can be reversed by clicking on a given column |
| 20 | header again. |
| 21 | |
| 22 | The browser can be used to navigate through the directory structure |
| 23 | by clicking on the directory names. |
| 24 | Clicking on a file name will show the contents of the file. |
| 25 | Clicking on the revision number of a file or directory will take |
| 26 | you to the TracRevisionLog for that file. |
| 27 | Note that there's also a ''Revision Log'' navigation link that will do the |
| 28 | same for the path currently being examined. |
| 29 | Clicking on the ''diff'' icon after revision number will display the changes made |
| 30 | to the files modified in that revision. |
| 31 | Clicking on the ''Age'' of the file - will take you to that changeset in the timeline. |
| 32 | |
| 33 | It's also possible to browse directories or files as they were in history, |
| 34 | at any given repository revision. The default behavior is to display the |
| 35 | latest revision but another revision number can easily be selected using |
| 36 | the ''View revision'' input field at the top of the page. |
| 37 | |
| 38 | The color bar next to the ''Age'' column gives a visual indication of the age |
| 39 | of the last change to a file or directory, following the convention that |
| 40 | '''[[span(style=color:#88f,blue)]]''' is oldest and '''[[span(style=color:#f88,red)]]''' |
| 41 | is newest, but this can be [TracIni#browser-section configured]. |
| 42 | |
| 43 | At the top of the browser page, there's a ''Visit'' drop-down menu which you can use |
| 44 | to select some interesting places in the repository, for example branches or tags. |
| 45 | This is sometimes referred to as the ''browser quickjump'' facility. |
| 46 | The precise meaning and content of this menu depends on your repository backend. |
| 47 | For Subversion, this list contains by default the top-level trunk directory |
| 48 | and sub-directories of the top-level branches and tags directories |
| 49 | (`/trunk`, `/branches/*`, and `/tags/*`). This can be [TracIni#svn-section configured] |
| 50 | for more advanced cases. |
| 51 | |
| 52 | If you're using a Javascript enabled browser, you'll be able to expand and |
| 53 | collapse directories in-place by clicking on the arrow head at the right side of a |
| 54 | directory. Alternatively, the [trac:TracKeys keyboard] can also be used for this: |
| 55 | - use `'j'` and `'k'` to select the next or previous entry, starting with the first |
| 56 | - `'o'` (open) to toggle between expanded and collapsed state of the selected |
| 57 | directory or for visiting the selected file |
| 58 | - `'v'` (view, visit) and `'<Enter>'`, same as above |
| 59 | - `'r'` can be used to force the reload of an already expanded directory |
| 60 | - `'A'` can be used to directly visit a file in annotate (blame) mode |
| 61 | - `'L'` to view the log for the selected entry |
| 62 | If no row has been selected using `'j'` or `'k'` these keys will operate on the entry under the mouse. |
| 63 | |
| 64 | {{{#!comment |
| 65 | MMM: I guess that some keys are upper case and some lower to avoid conflicts with browser defined keys. |
| 66 | I find for example in Firefox and IE on windows that 'a' works as well as 'A' but 'l' does not work for 'L'. |
| 67 | cboos: 'l' is reserved for Vim like behavior, see #7867 |
| 68 | }}} |
| 69 | |
| 70 | For the Subversion backend, some advanced additional features are available: |
| 71 | - The `svn:needs-lock` property will be displayed |
| 72 | - Support for the `svn:mergeinfo` property showing the merged and eligible information |
| 73 | - Support for browsing the `svn:externals` property |
| 74 | (which can be [TracIni#svn:externals-section configured]) |
| 75 | - The `svn:mime-type` property is used to select the syntax highlighter for rendering |
| 76 | the file. For example, setting `svn:mime-type` to `text/html` will ensure the file is |
| 77 | highlighted as HTML, regardless of the file extension. It also allows selecting the character |
| 78 | encoding used in the file content. For example, if the file content is encoded in UTF-8, |
| 79 | set `svn:mime-type` to `text/html;charset=utf-8`. The `charset=` specification overrides the |
| 80 | default encoding defined in the `default_charset` option of the `[trac]` section |
| 81 | of [TracIni#trac-section trac.ini]. |
| 82 | {{{#!comment |
| 83 | MMM: I found this section a bit hard to understand. I changed the first item as I understood that well. |
| 84 | but I think the other items could be changed also |
| 85 | cboos: in the meantime, I've added the ''advanced'' word as a hint this can be a bit complex... |
| 86 | }}} |
| 87 | |
| 88 | |
| 89 | ---- |
| 90 | {{{#!div style="font-size:85%" |
| 91 | [=#note-multirepos (1)] - This means that after upgrading a single-repository Trac of version |
| 92 | 0.11 (or below) to a multi-repository Trac (0.12), the repository browser will look and feel |
| 93 | the same, that single repository becoming automatically the "default" repository. |
| 94 | }}} |
| 95 | |
| 96 | See also: TracGuide, TracChangeset, TracFineGrainedPermissions |