ident - ファイル内の RCS
キーワードを読み出す
ident [
-q ] [
-V ] [
file ... ]
ident
は、指定されたファイルがあればそのファイルから、指定がない場合には標準入力から、
$keyword: text $
なるパターンを検索します。
これらのパターンは、通常
RCS の
co(1)
コマンドにより自動的に挿入されますが、
手作業で入れることも可能です。オプション
-q
を指定すると、ファイル中に
キーワードが発見できなくても警告メッセージを出力しません。
-V を指定すると、
ident
のバージョン番号を表示します。
ident
は、テキストファイルと同様にオブジェクトファイルやダンプファイルにも使
用することができます。
たとえば、以下の C
言語プログラム
f.c
で、
- #include <stdio.h>
static char const rcsid[] =
"$Id: f.c,v 1.5 1999/08/27 23:36:42 peter Exp $";
int main() { return printf("%s\n", rcsid) == EOF; }
f.c が
f.o
にコンパイルされているなら、以下のコマンド
- ident f.c f.o
は、次のような出力を行います。
-
f.c:
$Id: f.c,v 1.5 1999/08/27 23:36:42 peter Exp $
f.o:
$Id: f.c,v 1.5 1999/08/27 23:36:42 peter Exp $
C
言語プログラムで上記のような文字列
rcsid
が定義され、かつ使われていないとき、
lint(1)
が警告を出したり、 C
コンパイラによっては最適化により文字列を削除する
場合があります。もっとも、よい解決策は上のプログラム例のように文字列
rcsid を使うことです。
ident は、 r*
がサポートする
keyword
でなくても、すべての
$keyword: text $
パターンを表示します。
これにより、
$XConsortium$
のような非標準の keyword
についても情報が得られます。
つぎに現在、
co(1)
が扱う keyword
を挙げます。デフォルトでは、すべての時刻は協定世界時
(UTC しばしば
GMTと呼ばれます)
で表されますが、
チェックアウトのときに、
co の
-zzone
オプションを使ったファイルについては、数字によるタイムゾーンが付加され
ます。
- $Author$
- そのリビジョンをチェックインしたユーザ名です。
- $Date$
- そのリビジョンをチェックインした日付と時刻です。
- $Header$
- RCS
ファイルのフルパス名を含んだ標準のヘッダ、リビジョン番号、
作者、状態、およびロックされている場合にはロックした人です。
- $Id$
- RCS
ファイルの名前がフルパスでないことを除いて、
$Header$, と同じです。
- $Locker$
- そのリビジョンをロックした人のユーザ名
(ロックされていない場合は空白)
です。
- $Log$
- チェックインのときに書かれたログメッセージです。
ident
の目的としては、
$RCSfile$ と等価です。
- $Name$
- リビジョンをチェックアウトするときに使うシンボル名です(ないかもしれま
せん)。
- $RCSfile$
- フルパスでない
RCS
ファイルの名前です。
- $Revision$
- そのリビジョンのリビジョン番号です。
- $Source$
- RCS
ファイルのフルパス名です。
- $State$
-
rcs(1) or ci(1) の -s
オプションで付けられたそのリビジョンの状態です。
co(1)
は以下の文字をエスケープシーケンスで表現することにより、
キーワードの文字列の形を保ちます。
char escape sequence
tab \t
newline \n
space \040
$ \044
\ \\
Author: Walter F. Tichy.
Manual Page Revision: 1.5; Release Date: 1999/08/27.
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1992, 1993 Paul Eggert.
ci(1),
co(1),
rcs(1),
rcsdiff(1),
rcsintro(1),
rcsmerge(1),
rlog(1),
rcsfile(5)
Walter F. Tichy, RCS--A System for Version Control,
Software--Practice &
Experience 15, 7 (July 1985), 637-654.