[原創]給你的cvs服務器加上郵件通知
發表于:2007-05-26來源:作者:點擊數:
標簽:
作者:蘇小勇[url]http://www.bestunix.net[/url] 原文:http://www.bestunix.net/p/cvsmail.php 關鍵字cvscvsmail郵件通知郵件列表 為什么要用cvsmail 當我們 開發 人員分散各處時,很難了解cvsserver上到底更新了什么,而且每天去閱讀cvs上大量的更新日志也
作者:蘇小勇 [url]http://www.bestunix.net[/url]
原文: http://www.bestunix.net/p/cvsmail.php
關鍵字 cvs cvsmail 郵件通知 郵件列表
為什么要用cvsmail
當我們
開發人員分散各處時,很難了解cvs server上到底更新了什么,而且每天去閱讀cvs上大量的更新日志也是一件很麻煩的事情。通過cvsmail,你可以及時準確的通知每個開發人員
服務器上的內容發生了什么更新。
前提
假設你已熟知
CVS服務器設置指南 ([url]http://www.bestunix.net/p/cvs_server_config.php[/url] ),并已配置好了自己的CVS服務器
假設你已經配置好了mail服務器,如果沒有配置的話請參考xuki的 qmail安裝指南 (http://www.xuki.org/linux_qmail.htm)
如何獲得
其實cvsmail有好幾個版本,不過這里我選用的是最簡單的那個,安裝配置非常容易,而且它已經可以實現我們需要的大部分的功能。
http://www.over-yonder.net/~fullermd/projects/cvsmail/
可以去上面網址
下載cvsmail的最新版本。
安裝
這里的安裝分兩種,我逐個來說明
第一種
如果你有一個原始的CVSROOT模塊,那么你可以使用install.pl腳本來進行安裝。下面分別按步驟介紹
1.初始化你的CVS倉庫,使用cvs init,如果不明白的話,可以參考 CVS服務器設置指南( http://www.bestunix.net/p/cvs_server_config.php )
2.check out出一個你的CVSROOT模塊的拷貝,
我們假設把這個模塊放入/tmp/cvs目錄,服務器端CVS倉庫路徑為/home/cvsroot
[code:1:7e1c4558c4]mkdir /tmp/cvs
cd /tmp/cvs
cvs -d :pserver:sxy@127.0.0.1:/home/cvsroot login
cvs -d :pserver:sxy@127.0.0.1:/home/cvsroot co CVSROOT [/code:1:7e1c4558c4]
3.進入你下載并解壓縮以后的cvsmail目錄,運行install.pl腳本,如下
./install.pl /tmp/cvs/CVSROOT
4.進入/tmp/cvs/CVSROOT目錄,根據你的系統設置來編輯cvsmail.cfg文件,主要需要編輯下面幾個地方
$MAILTO 設置為cvs commit時會接收到郵件的用戶,注意這里只能設置一個用戶,如果需要多個用戶接收的話,則需要設置為一個郵件列表
需要注意的是這里設置的是用戶名,實際上接受郵件的是 username@hostname,比如我們設置的用戶名是cvsupdate,當前主機名是bestunix.net,那么收件人就是cvsupdate@bestunix.net
$FROM_HOST 發件人的域名,默認是主機名,一般不用做什么設置,cvs的發件人默認是cvsroot,所以,我們收到的通知郵件一般都是 cvsroot@hostname發送的,比如cvsroot@bestunix.net
$SENDMAIL 一般保留默認就好了,如果你的郵件服務器是qmail的話,需要改為"/var/qmail/bin/qmail-inject"
$P_* 這里主要是指定這些應用程序的路徑,一般不用修改,如果你不確定的話,可以用whereis來察看一下
5.修改完上面選項以后,用 cvs commit提交到服務器上,下次cvs commit你就會收到郵件通知了.
第二種情況,沒有一個原始的CVSROOT
那么,我們需要手工做一些install.pl的工作,我們看看install.pl都做了什么
1. Copy cvsmail.pm, cvsmail.cfg, cvsmail.pl, precommit.pl到你check out出來的CVSROOT里面,比如/tmp/cvs/CVSROOT
[code:1:7e1c4558c4]
cp cvsmail* /tmp/cvs/CVSROOT
cp pre* /tmp/cvs/CVSROOT [/code:1:7e1c4558c4]
然后把這幾個文件都加入CVS倉庫
[code:1:7e1c4558c4]
cvs add cvsmail.pm
cvs add cvsmail.cfg
cvs add cvsmail.pl
cva add precommit.pl
[/code:1:7e1c4558c4]
2. 在CVSROOT/commitinfo這個文件中加入下面行
[code:1:7e1c4558c4]
ALL $CVSROOT/CVSROOT/precommit.pl [/code:1:7e1c4558c4]
3. 在CVSROOT/loginfo這個文件中加入下面行
[code:1:7e1c4558c4]
ALL $CVSROOT/CVSROOT/cvsmail.pl %{ sVv } [/code:1:7e1c4558c4]
4. 修改cvsmail.cfg,同第一種情況
5. 提交上面修改過的文件
cvs commit
一點經驗:
cvsmail本身沒有什么日志可查,如果你發現自己的cvsmail不能正常使用時,可以到cvsroot的home目錄中察看Mailbox文件中的退信信息
一個cvs更新郵件的樣例
[code:1:7e1c4558c4]
主題: [cvs update] cvs commit: CVSROOT cvsmail.cfg
郵件內容:
cvsroot 2005/07/23 21:23:47 CST
Modified files:
. cvsmail.cfg
Log:
add header
Revision Changes Path
1.11 +1 -1 CVSROOT/cvsmail.cf [/code:1:7e1c4558c4]
有問題歡迎到 http://www.bestunix.net 上留言跟我聯系
haoyufu 回復于:2005-07-30 09:59:12
|
謝謝樓主
我可以試驗下
我的cvs, cvsweb都成功了
在按這個也可以呵呵
|
sxybit 回復于:2005-07-31 20:22:35
|
呵呵,其實文檔很詳細,不過就是沒有例子,很多地方要多試幾遍才對,這里我給出了例子,相信安裝過程中的大部分疑問都沒有了.
|
yeqiwei 回復于:2005-08-04 13:49:39
|
不錯,你的blog也不錯。
|
haoyufu 回復于:2005-08-04 17:21:12
|
兄弟我做了
可是好象沒有反映呀
|
sxybit 回復于:2005-08-05 13:32:37
|
你的郵件服務配好了嗎,看看你的/home/cvsroot目錄下面有沒有一個Mailbox的文件
[quote:2da1074847="haoyufu"]兄弟我做了
可是好象沒有反映呀[/quote:2da1074847]
|
原文轉自:http://www.anti-gravitydesign.com
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97
|