引き続き「UNIXプログラミングの道具箱」(RCS/CVS)

どっちもバージョン管理システム
GitとかMercurialとかの仲間って感じなのかな。
どれも、名前だけは聞いたことがある。


バージョン管理システムの基本は、ファイルに対して、
『いつ』、『誰が』、『どんな変更を加えたか』を管理すること。

いろんなバージョン管理のソフトがあるけど、最終的な目的は同じで、実現方法が違う。


[RCS]
ネットワーク経由でファイルのダウンロードが出来ないので、
サーバ上で直接編集する。
また、複数で開発を行う時の同時編集問題に対しては、
編集を行う前にファイルにロックをかけて、編集が完了した後にロックを解除することで対応している


[CVS]
RCS との違いは、ネットワーク対応とロックを使わないで同時編集問題を解決していること。
CVSでは、リポジトリからファイルをダウンロードして、いつでも自由に編集することができる。
自由に編集し、編集後のファイルをリポジトリに登録できる。
自分の変更箇所が別の人と違えば自動的にマージされるが、
変更箇所が同じだった場合にコンフリクトを検出して通知することで、
同時編集問題を解決している。


今から新しく勉強するんだから、使い方とかはGitで勉強することにしよう。