ソース・コード管理システム (source code control system)
【ソース・コード・カンリ・システム】
別名
・バージョン管理システム (version control system) 【バージョン・カンリ・システム】
ソフトウェアのソース・コードの改訂履歴を管理するためのシステム。開発されたすべてのバージョンのソース・コードを保存しておき、任意のバージョンのソース・コードを取り出したり、共同開発する際に、特定のユーザーのみがファイルを更新できるようにするなどの機能を持つ。
ソフトウェアは、バグを修正したり、機能を追加したり、新しいシステムに対応するために、常に修正や変更が加えられている。また新しいバージョンをリリースしても以前のバージョンがすぐに不要になるわけではなく、バグ修正や機能追加、実行環境の変更に応じた修正などを行うために、複数のバージョンを同時に維持・開発していかなければならない。このような要求に応えるために開発されたのがソース・コード管理システムである。ソフトウェアのバージョンを管理するので、バージョン管理システムともいう。
新しいバージョンのソース・コードをシステムに追加することを、一般的には「チェックイン」という。チェックインするためにには、ソース・コードとバージョン番号、コメントなどを指定する。チェックインは、新しいバージョン(メジャー・バージョンアップ版)としても追加することができるし、既存のバージョンの修正版(マイナー・バージョンアップ版)としても追加することができる。オリジナルのソース・コードからバージョンがツリー状に枝分かれていくので、バージョン・ツリーともいう。
ソース・コードをシステムから取り出すことを(一般的には)「チェックアウト」という。最新版のソース・コードだけでなく、バージョン番号を指定して、任意の過去のバージョンを取り出すことができる。チェックアウトされたソース・コード・ファイルには、オリジナルのソース・コードのほか、バージョン番号やコメント文字列などがプログラムのデータとして追加されており、コンパイルした結果にはこのバージョン番号情報などが自動的に埋め込まれるようになっている。これにより、どのバージョンのソース・コードが利用されているかが容易に分かるようになっている。
ソース・コードに変更を加えるためには、コードの変更を許可する特別なモードでチェックアウトする必要がある。このモードで取り出されたソース・コードは、(一般的には)取り出したユーザーのみが変更を加えることができ、その後再度チェックインすることができる。それ以外のユーザーは閲覧のみが可能であり、変更を加えてチェックインすることはできない。このような排他制御により、複数のユーザーが間違って同時に1つのファイルを更新するというミスを避けることができる。
代表的なソース・コード管理システムとしては、UNIX/Linux環境のSCCS(Source Code Control System)、RCS(Revision Control System)、CVS(Concurrent Version System)、Windows環境ではMicrosoft社のVSS(Visual Source Safe)、Merant社のPVCSなどがある。
Copyright (C) 2000-2007 Digital Advantage Corp.