[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cvs-ml 452] RE: cvsmailer



From: Kengo Nakajima <ringo@hompo.co.jp>
Subject: [cvs-ml 450] cvsmailer
Date: Wed, 1 Mar 2000 17:44:53 +0900

  |  Rubyを使ってCVS commit時に自動的にメールを投稿するスクリプトを

Rubyのコードを読むのははじめて、文法も知らないんですが
なかなかよい言語だという評判はきいています。読んでみた印象は
  - 文字列処理はperlみたい (ちなみに私はperlの文法はしりません)
  - 繰り返し処理はsmalltalkみたい (文法だけは覚えましたが、書けません)

コードをまともに理解しているわけではないので
はずしているかもしれませんが
いくつか思ったことを書きます。

* whoamiはeffective userを返すので、pserver methodをつかっていて
  $CVSROOT/CVSROOT/passwdでユーザのマッピングをおこなっているとまずい。
  $CVSROOT/CVSROOT/loginfoの行で$USERはcvsの認証ユーザ名に置換されるので
  これを利用するとよいと思います。あるいはスクリプトの中で
  $USER環境変数を参照してもよいかと思います。

* loginfoで%{sVv}をつかわずにcvs statusを呼んでいるのはなぜでしょう。

* cvs import時の対策も必要かも。importのときにはcommitinfoは呼ばれない。

* cvs logの出力の lines: じゃなくて cvs diff -c の出力を元に
  追加行数/修正行数/削除行数を算出するとおもしろそう。

Perlで書かれているcommit_prep/log_accumはさっぱり理解できないのですが
中嶋さんのコードは読めますね。けっこうたいへんだということが理解できました。

--
KOIE Hidetaka 鯉江英隆 <hide@koie.org>