前述のように、SCCS では、ID キーワード (SID) を使用して、チェックインするバージョンにバージョン固有の情報を組み込むことができます。ID キーワード (ファイル中に挿入します) は、変更をチェックインする際にそのバージョンに対応する情報に自動的に置換されます。SCCS ID キーワードは、以下のような形式になります。
%C%
ここで、C は大文字の一文字を表わしています。
たとえば、%I% は、最新デルタの SID に展開されます。%W% は、ファイル名、SID、一意の文字列 @(#) をファイルに取り込みます。この文字列 @(#) は、what コマンドによりテキストファイルと バイナリファイルの両方で検索されます。これによって、ファイルまたはプログラムがどのバージョンのソースから構築されたかを確認することができます。%G% キーワードは、最新のデルタの日付に展開されます。その他の ID キーワードとそれらが展開されたときの文字列については、表 5-1 を参照してください。
この方法で文字列を定義すると、C のオブジェクトファイルにバージョン情報が組み込まれます。この方法を使用して ID キーワードをヘッダー (.h) ファイルに組み込む場合は、ヘッダーファイルごとに異なる変数を使用してください。これにより、静的 (static) 変数を再定義しようとするエラーを防止できます。
バージョン固有の情報を C プログラムに取り込むには、以下のようにします。
static char SccsId[ ] = "%W%¥t%G%";
ファイル名が program.c の場合、この行はバージョン 1.2 が取り出されたときに以下のように展開されます。
static char SccsId[ ] = "@(#)program.c 1.2 08/29/80";
コンパイルされたプログラムで文字列が定義されているため、この方法によりコンパイルしたプログラムにソースファイルの情報を組み込むことができます。ソースファイルの情報は、以下のように what コマンドで確認することができます。
$ cd /usr/ucb $ what sccs sccs sccs.c 1.13 88/02/08 SMI
シェルスクリプトなどのスクリプトでは、ID キーワードをコメント内に含めることができます。
# %W% %G% . . .
展開されたキーワードを含むバージョンをチェックインすると、バージョン固有の情報が更新されなくなります。これを通知するために、get、edit、create 実行時に ID キーワードを検出できないときには、以下のように SCCS は警告を表示します。
No Id Keywords (cm7)