設定

Apacheにmod_dav_svnの設定が必要。
httpd.confに直接設定を書いてもいいんですが、私は設定ファイルを分けました。

httpd.confの設定

mod_dav_svnモジュールをロードする。
これは、LoadModuleがたくさん定義されている箇所の最後に加えておこう。

LoadModule dav_svn_module modules/mod_dav_svn.so

mod_dav_svnの設定ファイルを読み込むようにします。
これはhttpd.confの最終行にでも加えておきましょう。

Include conf/extras-conf/mod_dav_svn.conf

mod_dav_svn設定ファイルの作成

$sudo touch /opt/local/apache2/conf/extras-conf/mod_dav_svn.conf

mod_dav_svn.confの設定

作成したファイルには次を記述します。

# Location for subversion

Options Indexes
DAV svn
SVNParentPath /Users/ユーザ名/svnroot
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /Users/ユーザ名/svnroot/passwd
Require valid-user

パスワードファイルの作成

パスワードファイルを設定する。
以下を実行すると、パスワードが問われるので、任意のパスワードを設定しよう。

$cd /Users/ユーザ名/svnroot
$htpasswd -c passwd ユーザ名

Apacheの再起動

sudo /opt/local/apache2/bin/apachectl restart

エディタの設定

.bashrcファイルに、チェックイン時等、ログを記入する際に利用するエディタを設定する。

$vi ~/.bashrc

以下の行を記述しておく。

export SVN_EDITOR=/usr/bin/vim

以降の作業のため、.bashrcファイルを再読み込みしておこう。

$source ~/.bashrc

svnを試してみる。

PHPフレームワークSymfonyチュートリアルを試している。
その1日目に書かれているオペレーションを試してみる。
http://www.symfony-project.org/askeet/1_0/ja/1

リポジトリディレクトリ作成

リポジトリ作成、trunk,branches,tagsディレクトリの作成
ここではsymfonyチュートリアル通りaskeetというリポジトリ名にする。

$svnadmin create /Users/ユーザ名/svnroot/askeet
$svn mkdir -m "layout creation" file:///Users/ユーザ名/svnroot/askeet/trunk file:///Users/ユーザ名/svnroot/askeet/tags file:///Users/ユーザ名/svnroot/askeet/branches

適当に管理するファイルを作成

チュートリアルと違うけど、適当なファイルを作ろう

$mkdir ~/askeet
$touch ~/askeet/test1.php
$touch ~/askeet/test2.php
$mkdir ~/askeet/conf/
$touch ~/askeet/conf/test.conf

チェックインする

$cd ~/askeet
$svn import -m "initial import" . file:///Users/ユーザ名/svnroot/askeet/trunk

チェックアウトする。

まず、作成したテストのファイルを一度削除する

$rm -rf ~/askeet

実際にチェックアウトしてみよう。

$cd ~
$svn co file:///Users/mtbtaizo/svnroot/askeet/trunk askeet

チェックインしたファイルが、ちゃんとチェックアウトされていることを確認しよう。

$ls -R ~/askeet

参考にしたURL
http://juokonmacosx.blogspot.com/2004/12/subversion.html
http://www.proton.jp/apps/subversion.html