|   | 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 | If a default repository has been configured, 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 |