リビジョン管理システム(RCS )は、バージョン管理システム(VCS)の初期の実装です。これは、複数のユーザーがプログラムコードやドキュメントを開発および保守できるようにする一連のUNIXコマンドです。RCSを使用すると、ユーザーはドキュメントの独自のリビジョンを作成し、変更をコミットしてマージできます。RCSは元々プログラム用に開発されましたが、頻繁に改訂されるテキストドキュメントや設定ファイルにも役立ちます。[ 4 ]
RCSは1982年にパデュー大学のウォルター・F・ティッチー によって初めてリリースされました[ 4 ]。これは当時人気だったソースコード管理システム(SCCS)の代替ツールであり、SCCSは最初のバージョン管理ソフトウェアツールの1つでした(1972年に初期のUnix開発者によって開発されました) [ 5 ]。RCSは現在GNUプロジェクトによって維持されています[ 6 ]。
RCSの革新の一つは、逆デルタの採用である。SCCSがインターリーブデルタで各リビジョンをファイルに保存するのに対し、RCSはファイルの以前のバージョンに戻るための編集命令のセットを保存する。Tichyは、最近のリビジョンがより頻繁に使用されるため、ほとんどの場合、RCSの方が高速であると主張している。[ 4 ]
当初(4.3BSDで配布されたバージョン3まで)、そのライセンスはWalter Tichyからの書面による許可なしに再配布することを禁止していた。[ 7 ]
著作権 (C) 1982 Walter F. Tichy [...] 全著作権所有。著者の事前の書面による許可なく、このソフトウェアのいかなる部分も、いかなる形式または手段によっても販売または配布することはできません。
RCS の一部のバージョンにはREAD_MEファイルが付属しており、配布がさらに制限されていました。たとえば、 4.3BSD-Renoなどです。[ 8 ]
1989年頃、RCSライセンスは、ソースコードのコメントからもわかるように、当時のBSDライセンスに似たものに変更された。 [ 9 ]
ソースコードおよびバイナリ形式での再配布および使用は、上記の著作権表示およびこの段落がすべての形式で複製され、配布および使用に関連するすべての文書、広告資料、およびその他の資料において、ソフトウェアがWalter Tichyによって開発されたことが明記されている場合に限り許可されます。
1990年7月26日にリリースされたRCS 4.3は、GPLの条件に基づき、 「フリーソフトウェア財団のライセンスの下で」配布された。[ 10 ]
OpenBSD は、BSD ライセンスのOpenRCSと呼ばれる別の実装を提供しています。 [ 11 ]
RCS はスタンドアロン ファイルでうまく機能し、マルチ ファイル プロジェクトもサポートしていますが、現代の基準からすると、そのサポートは限定的です。RCS は複数のファイルのバージョンを単一のリリースにまとめることができます (「シンボリック名」を使用) [ 12 ]が、それらのファイル間でのアトミック コミットのサポートがありません。ブランチ機能はありますが、バージョン構文が煩雑です。ブランチを使用する代わりに、多くのチームは組み込みのロック メカニズムを使用して単一のヘッドブランチで作業しています。[ 4 ]
coRCS は、「リビジョン グループ」、つまり(checkout)コマンドと (check-in) コマンドでチェックインされたファイルのセットの使用を中心にしていますci。デフォルトでは、チェックインされたファイルは削除され、「,v」ファイルに置き換えられます (チェックインされた foo.rb は foo.rb,v になります)。このファイルは、リビジョン グループにアクセスできるユーザーであれば誰でもチェックアウトできます。RCS ファイル (拡張子が「,v」のファイル) は、最初の行にメタデータを追加したメイン ファイルを反映しています。チェックインされると、RCS はリビジョンをツリー構造で保存します。このツリー構造をたどることで、必要に応じてファイルを以前の形式に戻すことができます。[ 4 ]
注記