|   | 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  |