svkに関するTips
svkローカルミラーにsvnserve経由でアクセスする
svkでローカルにミラーしたリポジトリに対して、inetd + svnserve経由でアクセス出来るようにする。 環境はUbuntu 7.04、svk 1.08、svnserve 1.4.3。
まずはSynapticまたはapt-getでsvk、subversionをインストールしておく。
svkローカルミラーの作成
svkでリモートリポジトリのミラーを作成する。 まずはsvk depot --initする。
ここで、svnserveで公開するミラーの場所を~/.svk/localではなく/srv/svk/mirrorとしたいので、svk depot --relocateで配置しなおす。
Depotのパスが変わっていることを確認する。
ローカルミラー、ローカルブランチ用のディレクトリを作成する。
リモートリポジトリのミラーを作り、ミラーしたリポジトリの内容を同期する。
ローカルブランチを作る。
svnserveの設定
/etc/servicesにsvnのサービス名と使用ポート番号が記述されていることを確認する(もしなければ追記する)。
/etc/inetd.confにsvnserveの起動パラメータを追記する。 -rオプションにはリポジトリを格納するディレクトリ(svkで作成した/srv/svk/mirror/)を指定する。 svnserve用にユーザを用意する場合は、useradd svnしてからsantamartaの部分をsvnに置き換える
/etc/hosts.allowにsvnserveへのアクセスを許可するホストを記述する。 以下は内部ネットワークからの接続のみを許可する場合の例。
/srv/svk/mirror/conf/svnserve.confを編集して、認証なしでも書き込めるようにする。 参照のみにしたい場合はreadにする。
ここまでで必要な設定が完了したので、inetdを再起動する。
以降、svnserve経由でアクセス出来るようになる。 svn log、svn checkout等で正常にリポジトリの内容にアクセスできればOK。
上の例ではローカルブランチに対して操作しているが、localをmirrorに変えればローカルミラーに対しても操作できる。