Subversionでディレクトリ毎に権限分けをする

備忘録として。

Apacheの設定

/etc/httpd/conf.d/subversion.conf を編集する。

[xml] <Location "/svn/repos"> DAV svn SVNParentPath /home/svn/repos/test AuthzSVNAccessFile /home/svn/auth/config

AuthType Basic AuthName "Subversion repository" AuthUserFile /home/svn/user/passwd Require valid-user </Location> [/xml] SVNParentPath は SVN のリポジトリルート。
AuthzSVNAccessFile はグループとディレクトリ権限設定のファイルパスを指定する。viで作る。
AuthUserFile はユーザパスワード。htpasswd コマンドで作る。

AuthzSVNAccessFile の設定

/home/svn/auth/config を編集する。
[xml] # グループ定義 [groups] group1 = suzuki, satou group2 = yamada, satou # 全ユーザに全リポジトリ以下の読み込み権限を与える。 [/] * = r # suzuki にproject1 リポジトリ以下の読み書き権限を与える [project1:/] suzuki = rw # group1 に属するユーザに project2 リポジトリの trunk 以下の読み書き権限を与える [project2:/trunk] @group1 = rw # group2 に属するユーザにリポジトリ問わず braches 以下の読み書き権限を与える [/branches] @group2 = rw # yamada には project3 リポジトリ の読み込み権限を与えない [project3:/] yamada = [/xml]
こんな感じ。
ところで、ディレクトリ名が日本語になっていると、上手いこと権限がつけられませんでした。。
権限をつけた子供のディレクトリが日本語になっている分には問題ないですが。
文字コードの問題な気がするんだけど、怪しい文字コードはざっくり試したのに全部ダメでした…。