[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cvs-ml 157] Re: メール送信
馬場@京大宇宙物理 です。
Date: Mon, 26 Jul 1999 17:49:37 JST
From: "gotoh" <goto@akane.tis.co.jp>
Subject: [cvs-ml 156] メール送信
> >ALL (echo ""; id; echo %{sVv}; date; cat) | mail goto@akane.tis.co.jp
> おかげさまで、メールが無事届きました。
> ありがとうございました。
> しかし、記述されたスクリプトの意味は、分かってません。
> 解説していただけると、助かるのですが・・・。
CVSROOT/loginfo のコメント文中にある通りです。末尾に添付します。
> log_accum ?
log_accum は CVS のソースコードの contrib/ ディレクトリ中にあります。
> モジュール毎に?
モジュール毎にってのは、上の行の ALL の変わりにモジュール名とかディ
レクトリ名を書くなどすれば、場合分けができるということです。
$CVSROOT/foo/ ディレクトリ以下は A さん、$CVSROOT/bar/ 以下は B さん
のところに通知メールが行くようにするとすると、以下のようにできます。
^foo (echo ""; id; echo %{sVv}; date; cat) | mail (Aさんのaddress)
^bar (echo ""; id; echo %{sVv}; date; cat) | mail (Bさんのaddress)
簡単な場合分けで良いならば、たぶんこの程度で十分だとおもいます。
> ># 私は自分で作ったツールでメール投げるようにしてます。
> どのようなツールを作成されたのですか?
> よろしかったら詳しく教えていただけませんか?
機能的には log_accum とほぼ同じです。あとはまあ、好みに合うように
細かいところにちょいちょい手を入れただけです。FreeBSD のリポジトリ
の log_accum などはなんだかすごく複雑に改造されていて参考にしよう
としたのですが、ちょっと細かすぎるかなーと感じました。自作なおかげ
で、いろいろヘンなところが残ってたりしますが、面倒くさくなったので
そのままほったらかしています。
# ほんとは、loginfo 中の %u とかで commit した CVS アカウント名が
# 欲しかったんですが、pserver で real ユーザにマップしていると、
# real ユーザ名しか取れず、CVS アカウント名が縮退してしまうので
# やむを得ず場当たり的にちょろちょろいじったというところです。
--
馬場 肇 ( Hajime BABA ) E-mail: baba@kusastro.kyoto-u.ac.jp
京都大学理学部宇宙物理学教室 博士後期課程
--
以下はデフォルト状態での loginfo です。
# The "loginfo" file controls where "cvs commit" log information
# is sent. The first entry on a line is a regular expression which must match
# the directory that the change is being made to, relative to the
# $CVSROOT. If a match is found, then the remainder of the line is a filter
# program that should expect log information on its standard input.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name ALL appears as a regular expression it is always used
# in addition to the first matching regex or DEFAULT.
#
# You may specify a format string as part of the
# filter. The string is composed of a `%' followed
# by a single format character, or followed by a set of format
# characters surrounded by `{' and `}' as separators. The format
# characters are:
#
# s = file name
# V = old version number (pre-checkin)
# v = new version number (post-checkin)
#
# For example:
#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
# or
#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog