CVSサーバ

あるプロジェクトで複数のベンダが同一ソースを改修する可能性がでてきました。分散開発環境といえばCVS。今のうちの環境を作成しておきました。

インストール

CVSのソースは http://ftp.gnu.org/non-gnu/cvsから入手できます。stableの最新バージョンは1.11.22。これをダウンロードして、configure,make。

$ wget http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.22/cvs-1.11.22.tar.bz2
$ /usr/local/bin/tar -jxvf ./cvs-1.11.22.tar.bz2
$ cd cvs-1.11.22/
$ ./configure
$ /usr/local/bin/make
# /usr/local/bin/make install

リポジトリを作成

repositoryってのは入れ物って意味。プロジェクトソースを突っ込む場所ですね。これを作成します。

# mkdir /home/project/repository
# cvs -d /home/project/repository init

これで/home/project/repository以下にCVSROOTというディレクトリができます。なにやらいっぱい入ってるぞ。

$ cd /home/project/repository
$ ls
CVSROOT
$ cd CVSROOT
$ ls
Emptydir        config         editinfo,v  modules,v  rcsinfo,v  verifymsg,v
checkoutlist    config,v       history     notify     taginfo
checkoutlist,v  cvswrappers    loginfo     notify,v   taginfo,v
commitinfo      cvswrappers,v  loginfo,v   val-tags
commitinfo,v    editinfo       modules     rcsinfo    verifymsg

cvsグループを作成

別の名前でもいいのですが、上記のリポジトリ場所に書き込めるグループを作成します。/etc/groupにこんな行を追加。

cvs::110:hogehoge

hogehogeってのは、このCVSサーバ上のユーザ名です。作成したグループでリポジトリディレクトリ以下に適当なパーミションをつける。

# cd /home/project/repository
# chgrp -R cvs .
# chmod ug+rwx . CVSROOT

これで終了。認証方式がpserverを使う方式だと、ポートの調整とか、inetd.confとか編集が必要ですが今回はsshを使うので必要なし。