[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>