identコマンド(rcs)

rcsコマンド、他に知らないサブコマンドありそうです。
rcs –commandsで表示される一覧と、info rcsの一覧で差分を見てみます。

takk@deb9:~/tmp$ rcs --commands
(command)   (description)
 ci          Check in revisions of RCS files from working files.
 co          Check out working files from revisions of RCS files.
 frob        Change RCS file attributes.
 clean       Clean up working files.
 diff        Compare RCS revisions.
 merge       Merge RCS revisions.
 log         Print log messages and other information about RCS files.
takk@deb9:~/tmp$
Usage
* Common elements::
* ci::
* co::
* ident::
* merge::
* rcs::
* rcsclean::
* rcsdiff::
* rcsmerge::
* rlog::

infoにあって–commandsの一覧にないコマンドとしては、ident、rcsclean、rcsdiff、rcsmerge、rlogがありますね。rlogは前回見ました。rcs~は、rcs ~の省略系でしょう。
identはよくわかりません。今回はidentについて確認します。

man identより。

IDENT(1)                    General Commands Manual                   IDENT(1)

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

書式
       ident [ -q ] [ -V ] [ file ... ]

解説
       ident  は、指定されたファイルがあればそのファイルから、指定がない場合に
       は標準入力から、 $keyword: text $ なるパターンを検索します。

       これらのパターンは、通常 RCS の co(1)  コマンドにより自動的に挿入されま
       すが、 手作業で入れることも可能です。オプション -q を指定すると、ファイ
       ル中に キーワードが発見できなくても警告メッセージを出力しません。 -V を
       指定すると、 ident のバージョン番号を表示します。

~省略~

co(チェックアウト)したファイルに、このようなパターンが入ってたか記憶にありません。チェックアウトして確認してみます。

takk@deb9:~/tmp$ co test2.c
RCS/test2.c,v  -->  test2.c
revision 1.10
done
takk@deb9:~/tmp$ cat test2.c
HELLO10
takk@deb9:~/tmp$

ないですね。作ったテキストファイルのままです。

man identの説明にあるように、coが自動的に出力するメッセージなのでしょう。
man coを確認。


~省略~

       -kkv   ワークファイルにデフォルト形式のキーワード文字列を埋め込みま
              す。たとえば、 キーワード Revision に対しては、文字列 $Revision:
              1.6 $ を生成します。 ci -l や co -l でファイルがロックされる時の
              み、 Header, Id, Locker キーワードにロック者名を挿入します。これ
              がデフォルトの動作です。

       -kkvl  -kkv  とほぼ同様ですが、指定されたリビジョンがロックされていた場
              合にはいつも、 ロック者名を挿入します。

       -kk    キーワード文字列中のキーワード名のみの文字列を生成し、値は省略し

~省略~

このあたりのオプションを使えばキーワードが埋め込まれるのでしょう。
やってみます。

takk@deb9:~/tmp$ co -kkv test2.c
RCS/test2.c,v  -->  test2.c
revision 1.10
done
takk@deb9:~/tmp$ cat test2.c
HELLO10
takk@deb9:~/tmp$

あれれ、ダメでした。まだまだ調べることいっぱいです。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA