改訂管理システム
| 改訂管理システム | |
|---|---|
| 原著者 | ウォルター・F・ティチー |
| 開発者 | GNUプロジェクト |
| 初回リリース | 1982 |
| 安定版リリース | 5.10.1 [ 1 ] / 2022年2月2日 |
| 言語 | C |
| オペレーティングシステム | Unixライク、V [ 2 ] |
| タイプ | バージョン管理 |
| ライセンス | GPL 3.0以降[ a ] [ 3 ] |
| ウェブ | gnu.org/s/rcs/ |
| リポジトリ | |
| OpenRCS | |
|---|---|
| 原著者 | ジャン=フランソワ・ブルソー、ジョリス・ヴィンク、ニール・オヒギンズ、ザビエル・サントラリア |
| 開発者 | OpenBSD |
| 初回リリース | 2006 |
| 言語 | C |
| オペレーティングシステム | OpenBSD |
| タイプ | バージョン管理 |
| ライセンス | BSD |
| ウェブ | cvsweb |
| リポジトリ | cvsweb |
リビジョン管理システム(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 ]
利点
デメリット
注記
- ^ 2010年6月24日以降、GPL 3.0以降
参照
- 並行バージョンシステム( CVS )
- Apache Subversion ( SVN )
参考文献
- ^ Thien-Thi Nguyen (2022年2月2日). 「GNU RCS 5.10.1 が利用可能」 . 2022年2月3日閲覧
- ^ V-System 6.0 リファレンスマニュアル
- ^ 「ライセンスをGPLv3+に更新」 2010年6月24日。
- ^ a b c d e Tichy, Walter (1982). 「リビジョン管理システムの設計、実装、評価」 . ICSE '82 Proceedings of the 6th International Conference on Software Engineering : 58–67 . 2012年6月12日閲覧。
- ^ Raymond, Eric. 「バージョン管理システムを理解する(ドラフト)」www.catb.org . 2017年2月13日閲覧。
- ^ "RCS" . GNUプロジェクト. フリーソフトウェア財団. 2015年1月22日. 2015年6月27日閲覧。
- ^ "4.3BSD - /usr/src/new/rcs/src/rcsdiff.c" . Walter's Retro Computing Corner ドキュメント. 1986年5月19日. 2014年11月15日閲覧。
- ^ "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/READ_ME" . FTPサーバー( FTP ). 1989年2月27日.(ドキュメントを表示するには、ヘルプ:FTPを参照してください)
- ^ "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/rcs.c" . FTPサーバー( FTP ). 1989年8月15日.(ドキュメントを表示するには、ヘルプ:FTPを参照してください)
- ^ RCS 4.3 README ファイル。
- ^ "rcs(1) - OpenBSD マニュアルページ" . man.openbsd.org . 2024年9月5日閲覧。
- ^ F. Tichy, Walter:「RCS: バージョン管理システム」、15ページ。パデュー大学コンピュータサイエンス学科技術報告書。論文394。https ://docs.lib.purdue.edu/cstech/394
- ^ a b c「リビジョン管理の概念 - リビジョン管理システム(RCS)、同時バージョン管理システム(CVS)、およびSubversion」。IT PASSION - 「ITプロフェッショナルブログ」。2008年12月10日。 2017年2月20日閲覧。
- ^ Steinberg, Frank. 「リビジョン管理システム(RCS、CVS、Subversion、Git)」ブラウンシュヴァイク工科大学. 2017年2月20日閲覧。
注記
- Walter F. Tichy: RCS - バージョン管理システム。『ソフトウェア:実践と経験』、1985年7月、第15巻、第7号、637~654ページ。CiteSeerの論文への参照は、論文への代替リンクです
さらに詳しい参考文献
- ドン・ボリンジャー、タン・ブロンソン著『RCSとSCCSの適用 - ソース管理からプロジェクト管理へ』オライリー、1995年
- Walter F. Tichy, RCS—バージョン管理システムArchived 18 February 2018 at the Wayback Machine , 1985
- ポール・ハインライン、RCS HOWTO、2004
外部リンク
- パーデュー大学のオリジナルRCS
- :RCSファイル管理プログラム - OpenBSD一般コマンドマニュアル