Subversion

 家と会社とで同時に使う設定類、まぁ.emacsとかをwebdav経由で共有しようと。そのためにcvsではなく、http://fogeで使えるsubversionを使おうと、そういうこと。いまさらcvsを使う意味もないと思うが、職場は未だにcvsなので移行の実験もかねて。

libapache2-svnのインストール

まずlibapache2-svnのインストール。こいつでwebdav経由でsubversion

#apt-get install libapache2-svn

ぬ。dav_fs.confとapaache2.confを上書きされたか?。まぁいいや。そんで、mod_dav_svnを有効にする。

#ln -s /etc/apache2/mods-available/dav_svn.conf  /etc/apache2/mods-enabled/dav_svn.conf
4 /etc/apache2/mods-available/dav_svn.conf
0 /etc/apache2/mods-enabled/dav_svn.conf
#ln -s /etc/apache2/mods-available/dav_svn.load  /etc/apache2/mods-enabled/dav_svn.load
4 /etc/apache2/mods-available/dav_svn.load
0 /etc/apache2/mods-enabled/dav_svn.load

 んで、dav_svn.confをいじれば良いと。debianの場合大体の設定がコメント化されて書いてあるので、楽だね。中を見ると/var/lib/svnにSVNのパスを設定するようにしてそれをxxxx.ddo.jp/svnとして見せるような設定がデフォルトらしい。設定はあとで。

リポジトリの作成

 Subversion用のリポジトリを作る。/home/svnを作り、その下にいくつかのリポジトリを作れるようにしておく。

#mkdir /home/svn
#chmod 777 /home/svn

svnは入れた記憶はないが勝手に入ってたので、svnadminが使える。これでリポジトリを作る。MySQLやバークレイDBやら使えるんだけど、デフォルトのSQliteで。

#svnadmin create /home/svn/module
#chmod 777 -R /home/svn/module

dav_svnの設定

 リポジトリは作ったので、さっきシンボリックリンクを張った/dav_svn.confを編集。

<Location /svn>
        DAV svn 
        SVNParentPath /home/svn
</Location>

 コメントにはSVNParentPathとSVNPathの2つが書いてあって、SVNPathの方はそのパスがリポジトリの場合、SVNParentPathは設定したパスの下にリポジトリがある場合。つまり、俺が使いたいのは、SVNParentPathにして、その下にいくつかリポジトリを作れるようにする方法。
 認証とかはまぁいいか。とりあえず放置で。

 そんでapacheの再起動。

#/etc/init.d/apache2 restart

クライアントで接続してみる

とりあえず、webブラウザ(macなんでsafariで)でアクセスしてみる。http://192.168.11.9/svn/module/を見ると。。

 Revision 0: /
 Powered by Subversion version 1.4.2 (r22196).

 おぉ、Subversionで見れてるっぽい。へぇーへぇー。
 じゃあ次は、Subversionのコマンドラインクライアントで。

$cd test
$svn co http://192.168.11.9/svn/module
$ls
module
$cd module
$ls -al
total 0
drwxr-xr-x  3 xx  staff  102  2 17 23:17 .
drwxr-xr-x  3 xx  staff  102  2 17 23:17 ..
drwxr-xr-x  9 xx  staff  306  2 17 23:17 .svn

 おぉ出来てるね。何にも入ってないけど。あとはsvn addとかimportとかcommitとかできればOK。

ME6000 前へ戻る