Next: annotate, Previous: history database, Up: History browsing
cvs を用いた様々な作業の履歴は、
利用者自身が選択する方法で記録されます。
cvs は、様々な場面でスクリプトを実行し、
この機構を実現します。
これらのスクリプトには、
ログ・ファイルに情報を追記したり、
開発者グループにメールを送ったり、
特定のニュース・グループに記事を投稿したりするものがあります。
格納時のログ方法は loginfo で設定します(see loginfo)。
commit, checkout, export, tag
等を実行した時のログ方法は、
各々オプション ‘-i’, ‘-o’, ‘-e’, ‘-t’ を用いて、
modules ファイルに設定できます。
これらのスクリプトほどのものは必要としない使用者にも、
cvs watch add
コマンドを使用して、
様々な告知をする弾力的な方法を提供します(see Getting Notified)。
この方法は cvs watch on
を使用していない場合でも利用できます。
誰かが tag
か rtag
コマンドを実行した時に
実行されるプログラムを、taginfo ファイルに設定します。
管理用ファイルの標準書式に従い(see Administrative files)、
taginfo の各行には、
正規表現に続いて実行されるコマンドが記述されます。
コマンドに渡される引数を順に挙げると、
タグ名, 操作(tag
なら add
,
tag -F
なら mov
, tag -d
なら del
),
リポジトリ, 残りは全て ファイル名 と リビジョン の組
です。
フィルタ・プログラムが非零で終了した場合は、
タグ処理が中止されます。
これは taginfo を使って tag と rtag コマンドのログを取る例です。 taginfo ファイルには以下のものを入れます:
ALL /usr/local/cvsroot/CVSROOT/loggit
/usr/local/cvsroot/CVSROOT/loggit は以下のスクリプトになってい ます:
#!/bin/sh echo "$@" >>/home/kingdon/cvsroot/CVSROOT/taglog