Jan 28 2008

Subversion覚書

Published by d6rkaiz at 0:37 under WebDAV, Subversion

CentOS4.6でのSubversion(以下SVN)設定の覚書。

SVNをサーバで管理するように設定しておこうとしていたのだけど、サーバに入っているSVNのバージョンの違いで色々はまったので、覚えている間にメモ。


WebSVNというPHPベースのリポジトリWebツールがあるので、それをインストールしてはみたものの、パス情報の箇所に全く出ない。リポジトリ名は出ているので、何か原因があるんだろうと検索かけてもHITしない。

1時間くらい色々悩んで、ふと気づいて。
調べたところ、CentOS4.6に入っているバージョンが、1.1系だったのがそもそもの原因だった・・・

気を取り直して、DAGから以下のrpmをダウンロード。
mod_dav_svn-1.4.6-0.1.el4.rf.i386.rpm
subversion-1.4.6-0.1.el4.rf.i386.rpm
subversion-devel-1.4.6-0.1.el4.rf.i386.rpm

そして -Uvh でインストール

すると、WebSVNで見れなかったツリーがキレイにみえるようになったので、これでヨシとする。

んで、WebSVN自体の設定は、次のように設定するだけで使えるようになった。
cd include
cp distconfig.php config.php
vi config.php

config.phpで設定するものは、とりあえず以下のみ

$config->parentPath('/home/svn');

そして前設定しようとしたときは、途中で投げ出してしまったWebDAVの設定をやってみた。
まず、Apacheの設定

<Location /svn>
DAV svn
SVNParentPath "/home/svn/"
# Require SSL connection for password protection.
SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/www/htpasswd
Require valid-user
</Location>

↑のような感じにして、apache再起動。
AuthUserFileの用意も忘れずに準備して、Winのクライアントから、接続できることを確認。

そしてファイルをコピー。

出来ない(ノ∀`)

ログをみてみると、cannot-modify-version-controlled-contentとエラー吐いて居た。
これで検索かけると、SVNAutoversioningを設定すれば良いらしい。
ということで↑にある設定は以下のように

<Location /svn>
DAV svn
SVNParentPath "/home/svn/"
SVNAutoversioning on
# Require SSL connection for password protection.
SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/www/htpasswd
Require valid-user
</Location>

これでファイルをコピーすると、コピーが成功して、ちゃんとリビジョンが上がっていく事が確認できた。

参考:
http://tortoisesvn.net/docs/release/TortoiseSVN_ja/tsvn-serversetup.html

Trackback URI | Comments RSS

Leave a Reply