次: , 前: history database, 上: 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 を使用していない場合でも利用できます。

誰かが 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