ソースファイルへの変更を複数の人が行う場合は、書き込みアクセスを調整することが重要です。ファイルの更新情報を記録しておくと、いつどんな理由で変更を加えたのかを知ることができます。
ソースコード管理システム (SCCS) を使用すると、ソースファイルへの書き込みアクセスを管理し、それらのファイルへの変更を監視できます。同じファイルを更新できるのは一度に 1 人だけで、加えられた変更はすべて履歴ファイルに記録されます。
バージョン管理ツールは SCCS 用の GUI です。このツールを使用すると、SCCS コマンドを知らなくても、ファイルを操作したり SCCS 関数を実行したりすることができます。ファイルのチェックインおよびチェックアウトや、履歴の分岐をたどる移動も、簡単に行うことができます。
バージョン管理ツールでは次の処理を実行できます。
SCCS にファイルをチェックインする
編集のためにファイルの 1 つのバージョンをチェックアウトするとともにロックする
SCCS 履歴からファイルの任意のバージョンのコピーを取り出す
SCCS 履歴ファイルの分岐を図で表示する
変更を取り消し、チェックアウトしたときの状態に戻す
ファイルの編集が可能かどうかを問い合わせる
ファイルマージを使用して選択されたファイル間の相違を問い合わせる
実行済みコマンドの要約が記録されたバージョンログを表示する
バージョン管理ツールを使用してこれらの処理を行うと、同時進行している複数の開発プロジェクトの円滑化を図ることができます。
SCCS ファイルに適用されているデルタは、初期バージョンをルートとしたツリーのノードとして表示します。デフォルトでは、ルートデルタは 1.1 と番号付けられます。この SCCS デルタ ID (SID) の 2 つの部分は、それぞれリリース番号とレベル番号です。1.1 の下のデルタ (ノード) は 1.2、その下は 1.3 となります。この縦の構造を、SCCS デルタツリーのトランクといいます。トランクは、SCCS ファイルの通常の開発過程を表します。
ただし、状況に応じて、ツリーの分岐が必要になる場合があります。たとえば、バグフィックスなどの目的で代替バージョンが並行して開発される場合に、それぞれのバージョンを追跡するために分岐を使用できます。
分岐デルタの SID は、リリース番号、レベル番号、分岐番号、およびシーケンス番号の 4 つの部分から構成されます。分岐番号は、特定のトランクデルタの子孫である各分岐に割り当てられます。最初の分岐は 1、次は 2 となります。シーケンス番号は、特定の分岐に属する各デルタに順番に割り当てられます。
つまり、1.3.1.1 は、デルタ 1.3 から派生した最初の分岐の最初のデルタであることを示します。デルタ 1.3 の 2 番目の分岐は 1.3.2.1 となります。
分岐の概念は、ツリーのすべてのデルタに適用されます。分岐コンポーネントは、トランクに対する位置と関係なく、その分岐での作成順に割り当てられます。このため、すべての分岐デルタが名前で識別されます。ただし、分岐デルタの名前からトランクデルタを識別することはできますが、トランクデルタから分岐デルタへのパス全体を特定することはできません。
たとえば、デルタ 1.3 に分岐が 1 つある場合、その分岐に属するすべてのデルタは、 1.3.n と名付けられます。この分岐上のデルタの 1 つから別の分岐が生じた場合、その新しい分岐に属するすべてのデルタは 1.3.2.n と名付けられます。1.3.2.2 というデルタ名からわかるのは、トランクの祖先である 1.3 というデルタにおける歴代 2 番目の分岐上の歴代 2 番目のデルタということだけです。1.3.2.2 というデルタ名から、このデルタとトランクの祖先 (1.3) との間にあるデルタすべてを知ることはできません。
ファイルをチェックインすると、SCCS では、そのファイルと前のバージョンのテキストを 1 行ごとに比較し、その相違だけを記録します。この相違の記録がいわゆるデルタです。最初にチェックアウトしたときのファイルバージョンは、一連のデルタの累積になっています。デルタとバージョンという 2 つの用語は、類義語のように使用される場合がありますが、正確な意味は異なります。特定のデルタを省いたバージョンを取り出すこともできます。
ファイルを初めて SCCS にチェックインすると、その新しい SCCS ファイルに対する履歴ファイルが作成されます。履歴ファイルの初期バージョンには、ソースファイルの完全なテキストが使用されます。この初期履歴ファイルは、2 番目以降のデルタの比較対象となるファイルです。そのプレフィックス (s.) から、履歴ファイルは s. ファイル (s ドットファイル) とも呼ばれます。
SCCS デルタ ID (SID) は、特定のデルタを識別するために使用される番号です。この番号は、ドット (.) で区切られた 2 つの部分から構成されています。デフォルトでは、初期デルタの SID は 1.1 です。SID の前の部分はリリース番号、後の部分はレベル番号です。デルタを 1 つチェックインするたびに、レベル番号は自動的に 1 増加します。