SVNParentPath 設定するなら SVNListParentPath on も指定
以前も書きましたが mod_dav_svn で SVNParentPath を設定すると,レポジトリを作成するごとにいちいち httpd.conf を書き換える必要がなくて楽なのです。唯一困っていたのが,その SVNParentPath 自体にアクセスすると Forbidden となってしまうこと。ログを見ると,「The URI does not contain the name of a repository」と怒られるので,これは mod_dav_svn 自身が出しているみたいですね。
trac の TracEnvParentDir では,親ディレクトリにアクセスすると各子プロジェクトページへのディレクトリリストが出力されて便利なんで,同じようにしたい。
で Google 先生に聞いて,
- Subversion Users: Browse repos available under SVNParentPath with Apache?
- お,同じ悩みのひとがいる
- http://subversion.tigris.org/servlets/ReadMsg?listName=users&msgNo=35488
- Subversion の機能としてはないから,たとえば PHP とかでスクリプト組んだほうがいいよ。詳しくは TortoiseSVN のマニュアルを見てね。
TortoiseSVN のマニュアルにサンプルスクリプトがおいてあるそうです。でマニュアルみたら,
Subversion 1.3 以降を使用している場合、ブラウザで個々のリポジトリを指定するのではなく上位パスを指定して、有効なプロジェクトの一覧を Apache が表示できるよう、SVNListParentPath on ディレクティブを使用できます。
リポジトリへのアクセス
と,そのものズバリな答がのってました。
デフォルトで off になっている SVNListParentPath を on にすればディレクトリリストを得ることができます。どんなレポジトリが下位にあるか見せたくない,みたいなセキュリティ上の要請がないのならやっといたほうが便利かも。