svn+sshへの移行

サーバマシンも変更するので、まず旧リポジトリのダンプをとっておく。
リポジトリを作る時、1.5系のリポジトリは1.4から操作できないので --pre-1.5-compatible オプションをつけておく。

svnadmin dump /home/svn/hogehoge > hogehoge.dump
ファイルをコピーしたら
svnadmin create /var/lib/svn/hogehoge  --pre-1.5-compatible
svnadmin load /var/lib/svn/hogehoge < hogehoge.dump

svn+sshにする場合、リポジトリのファイルへの書き込み権限を各ユーザが持たなければいけない。
svnグループを作ってユーザを追加、リポジトリのグループをsvn変更しグループへの書き込み権限を加える。

chgrp svn -R /var/lib/svn/hogehoge
find /var/lib/svn/hogehoge -perm -u+w -exec chmod g+w {} \;

これはまとめてシェルスクリプトにしておくと便利かも(svnadminにグループ設定のオプションとか無いのかね?)

#!/bin/sh

svnadmin create $1 --pre-1.5-compatible
chgrp -R svn $1
find $1 -perm -u+w -exec chmod g+w {} \;

Apacheからも公開だけはするので、以下のように設定。

 
      deny from all