ノード: Log Messages And Commit Emails, 次: , 前: Watches (CVS As Telephone), 上: Advanced CVS



Log Messages And Commit Emails

コミットメールとはコミット時に送信される通知で、ログメッセージやその コミットに含まれるファイル情報などを示します。通常はプロジェクトの参 加者全員に送信されます。そのプロジェクトに興味のある他の人々に送られ ることもあります。コミットメールの設定方法の詳細は Repository Administration で説明しましたのでここでは繰り返しません。

take into account 考慮に入れる

I have noticed, however, that commit emails can sometimes result in unexpected side effects to projects, effects that you may want to take into account if you set up commit emails for your project.

まず、メッセージは大概無視されることを覚悟して下さい。読まれるかどう かは、少なくとも部分的には、そのプロジェクトにおいてどのくらいの頻度 でコミットが行われるかによります。開発者は一日の終わりに1回だけ大き な変更をコミットするのでしょうか、それとも一日を通して小さな変更をた くさんコミットするのでしょうか? プロジェクトが後者に近いようなら、一 日中さみだれのようにやってくる小さな通知に対して開発者は壁を作ってし まうでしょうし、各メッセージに対して払う注意も小さくなるでしょう。

これは別に通知が役に立たないという意味ではないです、ただみんながメッ セージを全部読んでいるはずだなんて思っちゃいけないというだけのことで す。皆に誰が何をしているかを見張ってもらう方法(監視リストに追加する 以外で)としては依然便利なものです。誰でも購読できるメーリングリスト を送信先にすると、興味のあるユーザ(と未来の開発者)に、日常的にコード に何が起こっているかを知る機会を与える素晴らしい機構になります。

すべてのログメッセージを見ていて、プロジェクト全体の活動について概要 を知っている開発者がいるんだ、と考えたいだろうと思います(もちろん良 きプロジェクトリーダというものは何らかの手段でこういうことをしている のだろうと思います)。明確な分担区分がある場合、つまり、ある開発者が プロジェクト中のあるサブディレクトリの係りである、ということなんです が、その場合は CVSROOT/loginfo をちょっといじって、分担領域で変更が 行われたら、係の部隊が特別に印をつけた変更通知を受け取るようにもでき ます。これは、開発者が少なくとも自分のサブディレクトリに関係あるメー ルは読むよう保証するのに役に立つでしょう。

コミットメールが無視されない場合、おもしろい副作用が起こります。リア ルタイムのコミュニケーションの手段として使われ始めるのです。そうなっ た場合のログメッセージの例をお見せしましょう:

     Finished feedback form; fixed the fonts and background colors on the
     home page.  Whew!  Anyone want to go to Mon Lung for lunch?
     

別に何も悪いことはないですし、あとでログメッセージを読むと楽しいでしょ うね。でも、以下の例のようなログメッセージには注意しなければなりません。 ログメッセージは電子メールで配られるだけのものではなく、プロジェクト の履歴として永久に保存されるものなのです。顧客の仕様についてのグチを 言ったりするのは、プログラマの間で気晴らしによく行われることです。他 のプログラマがメールですぐ見るとわかっている場合、こんなログメッセー ジをコミットしてしまうのは想像に難くないでしょう:

     Truncate four-digit years to two-digits in input.  What the customer
     wants, the customer gets, no matter how silly & wrong.  Sigh.
     (訳: 入力時の4桁の年を2桁に縮める。お客様は御所望のものを手に入れる、
     どんなにバカみたいだろうが間違ってようが気にしない。はー。)
     
     

これはおもしろいメールにはなりますが、しかし顧客が後日このログをレビュー したらどうなりますか? (これと同じような問題のために、1つ以上のサイト で、ログメッセージに不快な単語が入らないようガードするスクリプトが起 動するように CVSROOT/loginfo が設定されているのに賭けますよ!)

コミットメールの一般的な効果は、短く不明瞭なログメッセージを書きにく くなるということです。良いことだと思います。しかし、聴衆はコミットメー ルを受け取る人だけではなく、ログを読むかもしれない人全員である、とい うことに留意する必要があります。