改訂管理システム

改訂管理システム
原著者ウォルター・F・ティチー
開発者GNUプロジェクト
初回リリース1982 (1982年
安定版リリース
5.10.1 [ 1 ] / 2022年2月2日 (2022年2月2日
言語C
オペレーティングシステムUnixライクV [ 2 ]
タイプバージョン管理
ライセンスGPL 3.0以降[ a ] [ 3 ]
ウェブ gnu.org/s/rcs/  ウィキデータで編集する
リポジトリ
OpenRCS
原著者ジャン=フランソワ・ブルソー、ジョリス・ヴィンク、ニール・オヒギンズ、ザビエル・サントラリア
開発者OpenBSD
初回リリース2006 (2006年
言語C
オペレーティングシステムOpenBSD
タイプバージョン管理
ライセンスBSD
ウェブcvsweb .openbsd .org /cgi-bin /cvsweb /src /usr .bin /rcs /
リポジトリcvsweb .openbsd .org /cgi-bin /cvsweb /src /usr .bin /rcs /

リビジョン管理システムRCS )は、バージョン管理システム(VCS)の初期実装です。複数のユーザーがプログラムコードやドキュメントを開発・保守できるようにするUNIXコマンドのセットです。RCSを使用すると、ユーザーはドキュメントの独自のリビジョンを作成し、変更をコミットし、マージすることができます。RCSはもともとプログラム用に開発されましたが、頻繁に改訂されるテキストドキュメントや設定ファイルにも役立ちます。[ 4 ]

歴史

開発

RCSは1982年にパデュー大学ウォルター・F・ティチー によって初めてリリースされました[ 4 ]。当時普及していたソースコード管理システム(SCCS)の代替ツールであり、SCCSはほぼ最初のバージョン管理ソフトウェアツールでした(1972年に初期のUnix開発者によって開発されました)。[ 5 ] RCSは現在、GNUプロジェクトによってメンテナンスされています。[ 6 ]

RCSにおける革新の一つは、リバースデルタの採用です。SCCSがインターリーブデルタを用いてファイル内のすべてのリビジョンを保存するのに対し、RCSはファイルの以前のバージョンに戻るための編集命令のセットを保存します。Tichyは、最近のリビジョンがより頻繁に使用されるため、ほとんどの場合で高速化されると主張しています。[ 4 ]

当初(4.3BSDで配布されたバージョン3まで)、そのライセンスではWalter Tichyからの書面による許可なしに再配布を禁止していました。[ 7 ]

Copyright (C) 1982 by Walter F. Tichy [...] All rights reserved. 作者の事前の書面による許可なく、本ソフトウェアのいかなる部分も、いかなる形式または手段によっても販売または配布することはできません。

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 ]

利点

  • シンプルな構造で作業が簡単[ 13 ]
  • リビジョンの保存は中央リポジトリに依存しない[ 13 ]

デメリット

  • バージョン履歴がユーザーによって編集できるため、セキュリティがほとんどありません。[ 13 ]
  • 一度に1人のユーザーだけがファイルを操作できます。[ 14 ]

注記

  1. ^ 2010年6月24日以降、GPL 3.0以降

参照

参考文献

  1. ^ Thien-Thi Nguyen (2022年2月2日). 「GNU RCS 5.10.1 が利用可能」 . 2022年2月3日閲覧
  2. ^ V-System 6.0 リファレンスマニュアル
  3. ^ 「ライセンスをGPLv3+に更新」 2010年6月24日。
  4. ^ a b c d e Tichy, Walter (1982). 「リビジョン管理システムの設計、実装、評価」 . ICSE '82 Proceedings of the 6th International Conference on Software Engineering : 58–67 . 2012年6月12日閲覧
  5. ^ Raymond, Eric. 「バージョン管理システムを理解する(ドラフト)」www.catb.org . 2017年2月13日閲覧
  6. ^ "RCS" . GNUプロジェクト. フリーソフトウェア財団. 2015年1月22日. 2015年6月27日閲覧
  7. ^ "4.3BSD - /usr/src/new/rcs/src/rcsdiff.c" . Walter's Retro Computing Corner ドキュメント. 1986年5月19日. 2014年11月15日閲覧
  8. ^ "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/READ_ME" . FTPサーバー( FTP ). 1989年2月27日.(ドキュメントを表示するには、ヘルプ:FTPを参照してください)
  9. ^ "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/rcs.c" . FTPサーバー( FTP ). 1989年8月15日.(ドキュメントを表示するには、ヘルプ:FTPを参照してください)
  10. ^ RCS 4.3 README ファイル。
  11. ^ "rcs(1) - OpenBSD マニュアルページ" . man.openbsd.org . 2024年9月5日閲覧
  12. ^ F. Tichy, Walter:「RCS: バージョン管理システム」、15ページ。パデュー大学コンピュータサイエンス学科技術報告書。論文394。https ://docs.lib.purdue.edu/cstech/394
  13. ^ a b c「リビジョン管理の概念 - リビジョン管理システム(RCS)、同時バージョン管理システム(CVS)、およびSubversion」。IT PASSION - 「ITプロフェッショナルブログ」。2008年12月10日。 2017年2月20日閲覧
  14. ^ Steinberg, Fr​​ank. 「リビジョン管理システム(RCS、CVS、Subversion、Git)」ブラウンシュヴァイク工科大学. 2017年2月20日閲覧

注記

さらに詳しい参考文献