Subversion で利用できるウェブベースのリポジトリビューアーはいくつかあります。例えば、 ViewVC や WebSVN などです。TortoiseSVN は、これらのビューアーと連携する手段を提供しています。
TortoiseSVN には、お好みのリポジトリビューアーを統合できます。これを行うには、連携を定義するいくつかのプロパティを定義する必要があります。それらはフォルダーに設定する必要があります。(「プロジェクト設定」のセクションを参照してください)
このプロパティには、特定リビジョンのすべての変更を表示するためのリポジトリビューアーの URL を設定します。URL は適切に URI エンコードされている必要があり、%REVISION%
を含んでいる必要があります。%REVISION%
は、該当するリビジョン番号に置き換えられます。これにより、TortoiseSVN はログダイアログのコンテキストメニュー → にエントリを表示できます。
このプロパティには、特定リビジョンの特定のファイルの変更を表示するためのリポジトリビューアーの URL を設定します。URL は適切に URI エンコードされている必要があり、%REVISION%
と %PATH%
を含んでいる必要があります。%PATH%
は、リポジトリルートからの相対パスに置き換えられます。これにより、TortoiseSVN はログダイアログのコンテキストメニュー → にエントリを表示できます。例えば、ログダイアログの下部ペインでファイルエントリ /trunk/src/file
を右クリックすると、URL 内の %PATH%
は /trunk/src/file
に置き換えられます。
絶対 URL の代わりに相対 URL を使用することもできます。これは、ウェブビューアーがソースリポジトリと同じドメイン/サーバー上にある場合に便利です。ドメイン名が変更された場合でも、webviewer:revision
および webviewer:pathrevision
プロパティを調整する必要はありません。形式は bugtraq:url
プロパティと同じです。「バグ追跡システム/課題追跡システムとの統合」のセクションを参照してください。
システムが機能するためには、これらのプロパティはフォルダーに設定する必要があります。ファイルまたはフォルダーをコミットすると、プロパティはそのフォルダーから読み取られます。そこにプロパティが見つからない場合、TortoiseSVN は、バージョン管理されていないフォルダーに到達するか、ツリーのルート(例:C:\
)が見つかるまで、フォルダーツリーを上方向に検索します。各ユーザーが例えば trunk/
からのみチェックアウトし、サブフォルダーからはチェックアウトしないことが確実な場合は、trunk/
にプロパティを設定するだけで十分です。確実でない場合は、各サブフォルダーに再帰的にプロパティを設定する必要があります。プロジェクト階層のより深い場所にあるプロパティ設定は、より上位レベル(trunk/
に近い)の設定よりも優先されます。
プロジェクトプロパティ のみ、つまり tsvn:
、bugtraq:
、および webviewer:
については、再帰的 チェックボックスを使用して、階層内のすべてのサブフォルダーにプロパティを設定できます。ファイルにも設定する必要はありません。
TortoiseSVN を使用してワーキングコピーに新しいサブフォルダーを追加すると、親フォルダーに存在するプロジェクトプロパティは、新しい子フォルダーにも自動的に追加されます。
リポジトリビューアーの統合は Subversion プロパティへのアクセスに依存しているため、チェックアウトされたワーキングコピーを使用している場合にのみ結果が表示されます。プロパティをリモートでフェッチするのは遅い操作であるため、ワーキングコピーからリポジトリブラウザーを起動した場合を除き、リポジトリブラウザーからこの機能を見ることはできません。リポジトリの URL を入力してリポジトリブラウザーを起動した場合、この機能は表示されません。
同じ理由で、リポジトリブラウザーを使用して子フォルダーを追加した場合、プロジェクトプロパティは自動的に伝播されません。