CVS と RCS


本解説は、バージョン管理システムをまったく使ったことがない ユーザを対象としています。

以下の説明は、RCS について知っている人だけお読みください。


バージョン管理システムは RCS というソフトが有名です。 実際に RCS は Solaris 2.x や HP-UX などには標準でインストールされています。

しかし、 RCS は個人でバージョン管理をするには便利ですが、 グループでの利用にはあまり適していないように思います。


以下は、UNIX Magazine 1994年 4月号 p.160 , 今泉貴文「UNIX流プログラミング No.42」 からの引用です。

RCS では、編集を行いたいファイルをチェックアウトし、編集して チェックインしました。この間、他のユーザは同じファイルを編集 できません。ところが、そのあいだも CVS では誰もが編集できる のです。最初だけは RCS と同様に取出す作業が必要ですが、以降 は編集をおこないそれを CVS に伝えるだけです。

RCS はチェックアウトの際に明示的にロックをかけるので「ロッキ ング」と呼ばれます。しかし CVS で採用しているのは「コピーマー ジ」と呼ばれるもので、すべてのユーザが自由に編集でき、登録す るときに変更が重なっていないかを確認します。

この違いは1人で使っているときにはあまり関係ありませんが、複 数のユーザで使う場合には問題となります。RCS では、誰かが編集 していると同じファイルは編集できないので、ロックが解除される まで待つ必要があります。しかし CVS では待つ必要がありません。 もちろん、同じ部分を編集してしまうと登録の際に何らかの処理を しなければなりませんが、別々の部分を編集した場合には問題なく 登録できます。そのためか、バージョン管理の分野では、最近では ロッキングよりもコピーマージを採用したもののほうが多くみられ ます。


Takuya NISHIMOTO
Last modified: 2009-09-05