= Trac リポジトリブラウザ = #TheTracRepositoryBrowser
[[TracGuideToc]]

Trac のリポジトリブラウザでは、 Environment に関連付けられたリポジトリに格納されている
特定のリビジョンのディレクトリやファイルを閲覧することができます。

''(0.12 以降)'':
リポジトリブラウザのトップレベルは、設定されている全てのリポジトリを一覧表示する
'''リポジトリ一覧''' (英語版では '''Repository Index''') です。
各々のリポジトリには、すべてのリポジトリを含めた階層構造の中でのファイルの
"仮想的な" 位置を特定するために、パスのプレフィックスとして使用する名前を付与します。
リポジトリの一つに名前を設定しないことができ、これがデフォルトのリポジトリとなります。このようなデフォルトのリポジトリが定義されている場合、
リポジトリ一覧より先に '''デフォルトリポジトリ''' (英語版では '''Default Repository''') 欄にトップレベルのファイルやディレクトリが一覧表示されます。
Environment に関連付けられているリポジトリがデフォルトのリポジトリのみの場合、
'''リポジトリ一覧''' は表示されません。 (^[#note-multirepos (1)]^)

ディレクトリは列ごとにソート可能なリストとして表示されます。
ソートを行うには、 ''名称'' (英語版では ''Name''), ''サイズ'' (英語版では ''Size''), ''時期'' (英語版では ''Age''), ''更新者'' (英語版では ''Author'') と表示されている、列名をクリックします。
ソートの並び順は、もう一度クリックすることで
逆順にすることができます。

リポジトリブラウザでは、ディレクトリ名をクリックすることで、
ディレクトリ構造をたどることができます。
ファイル名をクリックすると、ファイルの中身が表示されます。
ファイルやディレクトリのリビジョン番号をクリックすると、
そのファイルやディレクトリの TracRevisionLog を見ることができます。
ナビゲーションリンクには、 ''更新履歴'' (英語版では ''Revision Log'') というリンクがありますが、
これは 現在見ているパスの TracRevisionLog を表示します。
リビジョン番号の後にある ''diff'' アイコンをクリックすると、
そのリビジョンでファイルにどのような更新が行われたか表示されます。
ファイルの ''時期'' (英語版では ''Age'') をクリックすると、該当するチェンジセット前後のタイムラインが表示されます。

またリビジョンを指定して、
そのディレクトリやファイルの履歴を確認することも可能です。
最新のリビジョンで表示するのがデフォルトの動作になりますが、ページ上部の ''リビジョン指定'' 
(英語版では ''View revision'') テキストボックスにリビジョン番号を指定すると、そのリビジョンでのリポジトリの状態を表示します。

''時期'' (英語版では ''Age'') 列に後続するカラーバーは、
ファイルやディレクトリが最終更新されてから経過した時間を視覚的に表現したものです。
デフォルトの設定では '''[[span(style=color:#88f,青)]]''' が古く '''[[span(style=color:#f88,赤)]]''' が新しいものを指します。
この設定は [TracIni#browser-section コンフィグ] で変更可能です。

リポジトリブラウザのページ上部には、ブランチやタグのようにリポジトリ内で有意な場所を選択するための
''ジャンプ'' (英語版では ''Visit'') ドロップダウンメニューがあります。
このリストは ''リポジトリブラウザへのクイックジャンプ'' の機能 (訳注: TracSearch でのクイックジャンプのことです。検索文字列がリストに一致すると、該当するパスのブラウザ画面にリダイレクトします) でも使用されます。
正確に記述すると、このメニューの内容はバックエンドに依存しています。
Subversion のデフォルトでは、リストにはトップレベルの trunk と 
branches、 tags ディレクトリ配下全て 
(`/trunk`, `/branches/*`, `/tags/*`) が含まれています。
これらは [TracIni#svn-section 設定を変更する] ことでより高度なケースに対応できます。

Web ブラウザが Javascript に対応していれば、ディレクトリの脇にある右向きの矢印をクリックすることで、 
そのページ内でディレクトリを展開したり、畳んだりできます。
他の操作方法として [http://trac.edgewall.org/wiki/TracKeys キーボード] が使用できます: 
 - `'j'` と `'k'` は、それぞれ前後のエントリに移動します
 - `'o'` (open) は、選択されているのがフォルダであれば、展開表示と折り畳み表示を切り替えます。
   ファイルであれば、そのファイルに移動します 
 - `'v'` (view, visit) および `'<Enter>'` も上記と同じ動作です
 - `'r'` は、既に展開したディレクトリを再読み込みするために使用します
 - `'A'` は、アノテート表示ページに直接移動します (訳注: ファイル選択時のみ対象です) 
 - `'L'` は、選択しているエントリのログ表示に移動します
`'j'` や `'k'` を使って選択した行がない場合、これらのキーはマウスオーバ状態にあるエントリを対象にします。

{{{#!comment
MMM: I guess that some keys are upper case and some lower to avoid conflicts with browser defined keys.
I find for example in Firefox and IE on windows that 'a' works as well as 'A' but 'l' does not work for 'L'.
 cboos: 'l' is reserved for Vim like behavior, see #7867
}}}

Subversion バックエンドでは、下記の機能も用意されています:
 - `svn:needs-lock` プロパティ対応
 - `svn:mergeinfo` プロパティでのマージ状態やブロック状態の表示対応
 - `svn:externals` プロパティでの閲覧対応
   ([TracIni#svn:externals-section 設定の変更] が必要です)
 - `svn:mime-type` プロパティがファイルを表示する際にシンタックスハイライトの選択に使用されます。
   例えば `svn:mime-type` が `text/html` に設定されている場合、拡張子にかかわらず、そのファイルは HTML としてハイライトされます。
   また、ファイルで使用される文字のエンコードを指定することもできます。
   ファイルの内容が UTF-8 で作成されている場合は、 
   `svn:mime-type` を `text/html;charset=utf-8` のように設定します。
   この `charset=` で指定したエンコードは [TracIni#trac-section trac.ini] の `[trac]` セクションのオプション 
   `default_charset` で指定したエンコードのデフォルト値より優先されます。
{{{#!comment
MMM: I found this section a bit hard to understand. I changed the first item as I understood that well.
but I think the other items could be changed also
 cboos: in the meantime, I've added the ''advanced'' word as a hint this can be a bit complex...
}}}


----
{{{#!div style="font-size:85%"
[=#note-multirepos (1)] - 単独リポジトリしかサポートしない 
0.11 以前のバージョンから、マルチリポジトリをサポートする 0.12 に Trac をアップグレードした場合、リポジトリブラウザの見え方は同じようになります。
単独のリポジトリは自動的に "デフォルトリポジトリ" として取り扱われるようになります。
}}}

See also: TracGuide, TracChangeset, TracFineGrainedPermissions
