Subversion
『Subversion』 CVSの後継として開発されたバージョン管理ツール。
メリット 1.内部データをUTF-8で保持しているため、日本語のファイル、 日本語フォルダも問題なく処理出来る。 2.ApacheのWebDAV機能を使ってリポジトリが公開出来る。 3.windows環境のコマンドラインツールも本語でメッセージが 表示され、エクスプローラのシェル拡張機能である。
Subversionのリポジトリ作成方法
リポジトリの作成には、svnadminコマンドを使う。
/var/lib/svn/hogeのディレクトリへ、fsfs形式のリポジトリを作成する場合は、下記のようにコマンドを入力します。
svnadmin create --fs-type fsfs /var/lib/svn/hoge
Apacheからアクセスするように設定する場合、個別のリポジトリに対してアクセス設定をするのではなく、複数のリポジトリを配下に置くディレクトリを公開する
例えば/var/lib/svnディレクトリ以下にhoge1、hoge2というリポジトリがある時、hoge1、hoge2それぞれに設定を行うのではなく、/var/lib/svn以下のフォルダをまとめて公開すると言う設定。
また、合わせて読み取りは全ユーザに対して権限を与え、更新操作についてはベーシック認証を使い認証を行う。
Apacheの設定ファイル(httpd.conf)に下記を記述。
このとき、SubversionのリポジトリディレクトリへApacheのユーザが書き込み権限を持っている用設定する事。
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath /var/lib/svn # our access control policy AuthzSVNAccessFile /var/lib/svn/.htsvn_access # try anonymous access first, resort to real # authentication if necessary. Satisfy Any Require valid-user # how to authenticate a user AuthType Basic AuthName "Subversion repository" AuthUserFile /var/lib/svn/.htsvn_user </Location>
次に、htpasswd コマンドを使ってベーシック認証用の/var/lib/svn/.svn_userファイルを作成。
Subversionのアクセス権設定ファイル.htsvn_accessファイルを以下の用に記述。
ここでは、全てのリポジトリに対し全ユーザに読み取り権限を与え、testリポジトリにはdevelopersグループに登録されたユーザおよび、user3のユーザに読み書き権限を与える。
[groups] developers = user1, user2 [/] * = r [test:/] user3 = rw @developers = rw