ソース・コード制御システム

ソース・コード制御システム (SCCS) は、指定されたユーザーが、SCCS ファイルに対して行われる変更を制御しトラッキングする際に使用できるコマンドの、完結したシステムです。 SCCS ファイルを使用すると、同一ファイルの複数のバージョンを同時に存在させることができます。 このことは、ラージ・ファイルの多数のバージョンを必要とするプロジェクトを 開発する際に役立ちます。

SCCS コマンドは、マルチバイト文字セット (MBCS) 文字をサポートします。

SCCS の紹介

SCCS コマンドによって、SCCS ファイルに関する制御の作成、編集、変換、または変更を 行うための完全なシステムが形成されます。 SCCS ファイルは、SCCS コマンドで制御されるテキスト・ファイルです。 すべての SCCS ファイルには、接頭部 s.が付きます。 これにより、通常のテキスト・ファイルとは別に設定されます。

重要: SCCS 以外のコマンドを使用して SCCS ファイルを編集すると、SCCS ファイルが損傷する可能性があります。

SCCS ファイルに対しては、SCCS コマンドを使用してください。 SCCS ファイルの構造を調べたい場合は、 pg コマンドまたは類似のコマンドを使用して、その内容を表示します。 ただし、エディターを使用して直接ファイルを変更することはしないでください。

SCCS ファイル内のテキストを変更するには、SCCS コマンド ( get コマンドなど) を使用して編集するファイルのバージョンを取得してから、任意のエディターを使用してテキストを変更します。 ファイルを変更した後、 delta コマンドを使用して変更を保存します。 ファイルの別バージョンを保管し、その内容へのアクセスを制御するために、SCCS ファイルには 固有の構造があります。

SCCS ファイルは、次の 3 つの部分で構成されています。

  • デルタ・テーブル
  • アクセスおよびトラッキング・フラグ
  • テキストの本文

SCCS ファイル内のデルタ・テーブル

ファイルの各バージョン用に別個のファイルを作成するのではなく、SCCS ファイルシステムでは、 ファイルの各バージョンについての変更内容だけを保管しています。 これらの変更内容をデルタ といいます。 変更内容は、各 SCCS ファイル内のデルタ・テーブルによってトラッキングされます。

デルタ・テーブル内の各エントリーには、そのデルタの作成者、作成時期、および 作成理由に関する情報が入っています。 各デルタには、最大 4 桁の特定の SID (SCCS の識別番号) が付いています。 第 1 桁はリリース、第 2 桁はレベル、第 3 桁は分岐、第 4 桁は順序を表しています。

SID 番号の例を以下に示します。

SID = 1.2.1.4

つまり、リリース1, レベル2, ブランチ1, シーケンス4.

SID の桁に 0 は使用できません。したがって、2.0 や 2.1.2.0 などの SID は使用できません。

新しいデルタが作成されるたびに、そのデルタにはデフォルト値として、 次に大きい数値の SID が設定されます。 そのバージョンのファイルは、それまでの全デルタを使用して作成されます。 一般的に、SCCS ファイルは連続的に大きくなるため、各デルタはそのリリースおよび レベルによってのみ識別されます。 ただし、ファイルは分岐して、新しくデルタのサブセットを作成する場合があります。 その場合、ファイルには、リリースとレベルで識別されたデルタが入っている幹線、 および 1 つまたは複数の分岐があります。これには、SID の 4 つの部分が すべて入っているデルタがあります。 分岐において、リリースとレベルの番号は固定であり、新しいデルタは順序番号を変更する ことによって識別されます。

注: ブランチから作成されたファイル・バージョンは、トランク上の分離点の後に配置されたデルタを使用しません。

SCCS ファイル内の制御フラグとトラッキング・フラグ

SCCS ファイル内のデルタ・テーブルの後ろにある、@ (アットマーク) で始まる フラグのリストは、SCCS ファイルの各種のアクセスおよびトラッキング・オプションを定義します。 SCCS フラグ機能には、以下のものがあります。

  • ファイルを編集できるユーザーを指定する機能
  • ある特定のリリースのファイルを編集できないようにロックする機能
  • ファイルの結合編集を許可する機能
  • ファイルに対する変更を相互参照する機能

SCCS ファイルの本体

SCCS ファイルの本体には、さまざまなバージョンのファイルのすべてのテキストが入っています。 その結果、ファイルの本体は標準のテキスト・ファイルとは異なる外観となっています。 制御文字は、テキストの各部分を大括弧に入れ、デルタを作成するのか、または 削除するのかを指定します。 SCCS システムがファイルの特定のバージョンを作成すると、制御文字は各デルタに対応する テキストの部分を示します。 その後、選択されたテキストの断片を使用して、その特定バージョンが作成されます。