ident

ファイル内の RCS キーワードを読み出す

ident - ファイル内の RCS キーワードを読み出す
ident [ -q ] [ -V ] [ file ... ]
ident は、指定されたファイルがあればそのファイルから、指定がない場合には標準入力から、 $ keyword : text $ なるパターンを検索します。 これらのパターンは、通常 \*r の co (1) コマンドにより自動的に挿入されますが、 手作業で入れることも可能です。オプション -q を指定すると、ファイル中に キーワードが発見できなくても警告メッセージを出力しません。 -V を指定すると、 ident のバージョン番号を表示します。 ident は、テキストファイルと同様にオブジェクトファイルやダンプファイルにも使 用することができます。 たとえば、以下の C 言語プログラム f.c で、 3 #include <stdio.h> static char const rcsid[] = $Id: f.c,v \*(iD $; int main() { return printf(%s\n, rcsid) == EOF; } P f.cf.o にコンパイルされているなら、以下のコマンド ident f.c f.o は、次のような出力を行います。

3
f.c:
$Id: f.c,v \*(iD $
f.o:
$Id: f.c,v \*(iD $

C 言語プログラムで上記のような文字列 rcsid が定義され、かつ使われていないとき、 lint (1) が警告を出したり、 C コンパイラによっては最適化により文字列を削除する 場合があります。もっとも、よい解決策は上のプログラム例のように文字列 rcsid を使うことです。 ident は、 \r* がサポートする keyword でなくても、すべての $ keyword : text $ パターンを表示します。 これにより、 $XConsortium$ のような非標準の keyword についても情報が得られます。
つぎに現在、 co (1) が扱う keyword を挙げます。デフォルトでは、すべての時刻は協定世界時 (\*u しばしば \s-1GMT\s0と呼ばれます) で表されますが、 チェックアウトのときに、 co-z zone オプションを使ったファイルについては、数字によるタイムゾーンが付加され ます。
$Author$
そのリビジョンをチェックインしたユーザ名です。
$Date$
そのリビジョンをチェックインした日付と時刻です。
$Header$
\*r ファイルのフルパス名を含んだ標準のヘッダ、リビジョン番号、 作者、状態、およびロックされている場合にはロックした人です。
$Id$
\*r ファイルの名前がフルパスでないことを除いて、 $Header$ , と同じです。
$Locker$
そのリビジョンをロックした人のユーザ名 (ロックされていない場合は空白) です。
$Log$
チェックインのときに書かれたログメッセージです。 ident の目的としては、 $RCSfile$ と等価です。
$Name$
リビジョンをチェックアウトするときに使うシンボル名です(ないかもしれま せん)。
$RCSfile$
フルパスでない \*r ファイルの名前です。
$Revision$
そのリビジョンのリビジョン番号です。
$Source$
\*r ファイルのフルパス名です。
$State$
rcs (1) or ci (1)-s オプションで付けられたそのリビジョンの状態です。 co (1) は以下の文字をエスケープシーケンスで表現することにより、 キーワードの文字列の形を保ちます。
6
\w'newline  'u
\f2char	escape sequence
tab	\f3\t
newline	\f3\n
space	\f3\040
$	\044
\	\\
Author: Walter F. Tichy. Manual Page Revision: \*(Rv; Release Date: \*(Dt. Copyright co 1982, 1988, 1989 Walter F. Tichy. Copyright co 1990, 1992, 1993 Paul Eggert.
ci(1), co(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1), rcsfile(5) Walter F. Tichy, \*r\*-A System for Version Control, Software\*-Practice &amp; Experience 15 , 7 (July 1985), 637-654.