FreeBSD QandA 649
Q. CVS と CVSup はどう違いますか?
また Anonymous CVS や CVSweb とはどう違いますか?
A. それぞれ全然性格が違います。長いので最後にまとめをつけてあります。
1. CVS
CVS (Concurrent Versions System) はソースコードのバージョン管理ツールです。
RCS や SCCS の仲間と思ったらいいでしょう。CVS リポジトリ (repository) と
いうところに一括してバージョン管理ファイルを置いておくことで、複数の開発
者によるプログラムの開発作業を円滑に進めることができます。CVS リポジトリ
はリモートホスト上にあっても構いません (remote cvs と呼ぶことがあります)。
開発者は自分の手元で行なったソースコードへの変更を、cvs(1) コマンドを使っ
て CVS リポジトリに反映させたり、あるいは CVS リポジトリから任意のバージョ
ンのファイルを取り出したりすることができます。
CVS リポジトリの操作をするには、
- CVS リポジトリの置かれたマシンにアカウントがあること
- CVS リポジトリに対してアクセス権があること
が必要です。例えば、FreeBSD の開発では、開発者 (core team や committer)
は freefall.FreeBSD.org というマシンにアカウントを持っていて、そこにある
FreeBSD のマスタ CVS リポジトリを操作して開発を行っています。当然権限の
無い人はリポジトリをいじることはできません。
CVS そのものに関して:
<URL:[BROKEN!] http://www.cvshome.org/>
書籍では、
Karl Fogel: Open Source Development with CVS
竹内里佳訳、でびあんぐる監訳: CVS -バージョン管理システム-
オーム社開発局, ISBN4-274-06372-0
<URL:http://kahori.com/j-cvsbook/>
<URL:http://cvsbook.red-bean.com/>
また、info cvs に詳しい説明があります。
2. Anonymous CVS
Anonymous CVS とは、FTP の場合でいう Anonymous FTP に似ています。通常の
CVS では「匿名ユーザによるファイルの取り出しだけしたい」という要求を
満たせません。そこで、リポジトリの読み取りのみ誰にでも許可したサービス
が Anonymous CVS となります。
FreeBSD の Anonymous CVS について:
<URL:http://www.jp.FreeBSD.ORG/www.freebsd.org/doc/ja_JP.eucJP/books/handbook/anoncvs.html#ANONCVS>
3. CVSup
CVSup は汎用のファイル配布ツールで、特に CVS リポジトリを取り扱うのに向い
ています。CVSup によるファイル転送では変更された差分情報のみを送りますの
で、Anonymous CVS に比べ遥かに効率的で短時間に処理することができます。ま
た、リポジトリそのものをミラーするには CVSup が適しています。
CVSup を利用するには cvsup(1) と呼ばれる専用のプログラムが必要で、サーバ
で動いている cvsupd(8) というサーバプログラムと通信します。FreeBSD では
どちらも ports/packages に収録されています。
FreeBSD の CVSup について:
<URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/cvsup.html>
4. CVSweb
CVS リポジトリを閲覧するための Web インタフェースです。個々のファイルの
コミットログを参照したり、リビジョン間の差分を確認するのに向いています。
FreeBSD CVS Repository:
<URL:http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/>
5. まとめ
以下○×表にしました。
CVS anoncvs CVSup CVSweb
--- --- --- ---
× ○ ○ ○ 匿名ユーザによるリポジトリの参照
○ × × × リポジトリの変更
× × ○ × リポジトリのミラー
○ ○ ○ × 複数ファイルの処理 (ディレクトリ単位)
○ ○ × ○ コミットログや差分の表示
○ ○ △ ○ プログラムは FreeBSD 以外でも動く
○ ○ × × プログラムは FreeBSD に付属
× × ○ × 処理効率
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。