家と会社とで同時に使う設定類、まぁ.emacsとかをwebdav経由で共有しようと。そのためにcvsではなく、http://fogeで使えるsubversionを使おうと、そういうこと。いまさらcvsを使う意味もないと思うが、職場は未だにcvsなので移行の実験もかねて。
まず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.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。
Copyright (C) 2008 俺 All right reserved.