以下のサブコマンドは、ファイルまたはその履歴を問い合わせる際に便利です。
SCCS を使用することによって、ファイル履歴中の任意のバージョンを取り出すことができるため、ディレクトリ内にある作業中のコピーが必要なバージョンでないという可能性もあります。what コマンドは、ファイル中の SCCS ID キーワードを検査します。また、バイナリファイルでもキーワードを検査するため、どのバージョンのソースからプログラムがコンパイルされたかを確認できます。
$ what program.c program program.c: program.c 1.1 88/07/05 SMI; program: program.c 1.1 88/07/05 SMI;
この例では、ファイルにはバージョン 1.1 の作業用のコピーが含まれています。
sccs get -g を使用すると、最新のデルタの SID を確認できます。
$ sccs get -g program.c 1.2
この例では、最新のデルタは 1.2 です。このバージョンは、前述の what の例でのバージョン 1.1 よりも新しいため、get を使用して最新のバージョンを取り出します。
どのファイルが編集中であるかを確認するには、以下のように入力します。
$ sccs info
このサブコマンドは、編集中のすべてのファイルと、ファイルをチェックアウトしたユーザー名などの情報を表示します。同様に、以下のコマンドを使用できます。
$ sccs check
このコマンドは、編集されているファイルがある場合に、警告を出力せずにゼロ以外の終了ステータスを返します。このコマンドを makefile で使用して、ソースファイルがチェックアウトされている場合に make(1S) を強制的に停止することができます。
チェックアウトしたすべてのファイルをチェックインする場合は、以下のコマンドを使用できます。
$ sccs delta 'sccs tell -u'
tell は、編集中のファイルの名前だけを 1 行に 1 つずつ表示します。-u オプションを使用すると、tell を実行したユーザーがチェックアウトしたファイルの名前だけを出力します。-u の引数としてユーザー名を指定すると、そのユーザーがチェックアウトしたファイルの名前だけを出力します。
sccs prt は、SID、作成日時、各バージョンをチェックインしたユーザー名、挿入/削除/変更なしの行数、コメントが記録されているバージョンログ (デルタテーブルとも呼びます) のリストを出力します。
$ sccs prt program.c D 1.2 80/08/29 12:35:31 pers 2 1 00005/00003/00084 corrected typo in widget(), null pointer in n_crunch() D 1.1 79/02/05 00:19:31 zeno 1 0 00087/00000/00000 date and time created 80/06/10 00:19:31 by zeno
最新バージョンのコメントだけを表示するには、-y オプションを使用します。
コメントに大切な情報を記述し忘れたなどの場合に、以下のコマンドを使用して、コメントに情報を追加できます。
sccs cdc -r sid
このコマンドを実行するには、最新のデルタ (または分岐中で最新のデルタ、「分岐」を参照) を指定する必要があります。また、そのデルタをチェックインしたユーザーであるか、履歴ファイルおよび SCCS サブディレクトリの両方に書き込み権を持つ所有ユーザーである必要があります。cdc は、コメントを入力するためのプロンプトを表示し、そこで入力された情報をコメントに追加します。
$ sccs cdc -r1.2 program.c comments? also taught get_in() to handle control chars
prt を使用して新しいコメントを表示すると、以下のようになります。
$ sccs prt program.c D 1.2 80/08/29 12:35:31 pers 2 1 00005/00003/00084 also taught get_in() to handle control chars *** CHANGED *** 88/08/02 14:54:45 pers corrected typo in widget(), null pointer in n_crunch() D 1.1 79/02/05 00:19:31 zeno 1 0 00087/00000/00000 date and time created 80/06/10 00:19:31 by zeno
チェックインした 2 つのバージョン、たとえば 1.1 と 1.2 の 2 つのデルタを比較するには、以下のコマンドを使用して、両者の違いを確認します。
$ sccs sccsdiff -r1.1 -r1.2 program.c
ファイルの変更内容および変更を行なったデルタをすべて表示するには、-m と -p のオプションを使用します。
$ sccs get -m -p program.c 1.2 1.2 #define L_LEN 256 1.1 1.1 #include <stdio.h> 1.1 . . . 84
特定のデルタに対応する行を抽出するため、出力を grep(1V) にパイプすることができます。
$ sccs get -m -p program.c | grep '^1.2'
-p だけを使用すると、取り出したバージョンの中身を (ファイルではなく) 標準出力に送ることができます。
prs サブコマンドと -d dataspec オプションを使用すると、SCCS が管理するファイルに関する情報を取り出し、それをレポートとして表示することができます。dataspec 引数には、履歴ファイルの一部分に対応するデータキーワードのセットを指定します。データキーワードは、以下の書式で指定します。
:X :
表 5-3 にデータキーワードのリストを示しています。引数 dataspec では、データキーワードを任意の回数使用できます。有効な dataspec は、テキストおよびデータキーワードで構成される文字列を二重引用符で囲んだものです。prs は、認識した各キーワードを履歴ファイルの適切な値に置換します。
データキーワードの値の形式は、1 行または複数行のいずれかです。前者の場合は、展開された値は単純な文字列になります。後者の場合は、展開された値に復帰改行が含まれます。
タブは ¥t で、復帰改行 は ¥n でそれぞれ指定します。
以下に例を示します。
$ sccs prs -d"Users and/or user IDs for :F: are:¥n:UN:" program.c Users and/or user IDs for s.program.c are: zeno pers $ sccs prs -d"Newest delta for :M:: :I:. Created :D: by :P:." -r program.c Newest delta for program.c: 1.3. Created 88/07/22 by zeno.