Next: , Previous: history database, Up: History browsing


8.3 ログ方法を使用者自身が設定する

cvs を用いた様々な作業の履歴は、 利用者自身が選択する方法で記録されます。 cvs は、様々な場面でスクリプトを実行し、 この機構を実現します。 これらのスクリプトには、 ログ・ファイルに情報を追記したり、 開発者グループにメールを送ったり、 特定のニュース・グループに記事を投稿したりするものがあります。 格納時のログ方法は loginfo で設定します(see loginfo)。 commit, checkout, export, tag 等を実行した時のログ方法は、 各々オプション ‘-i’, ‘-o’, ‘-e’, ‘-t’ を用いて、 modules ファイルに設定できます。 これらのスクリプトほどのものは必要としない使用者にも、 cvs watch add コマンドを使用して、 様々な告知をする弾力的な方法を提供します(see Getting Notified)。 この方法は cvs watch on を使用していない場合でも利用できます。

誰かが tagrtag コマンドを実行した時に 実行されるプログラムを、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