給你的cvs伺服器加上郵件通知

2021-04-12 16:43:04 字數 2507 閱讀 7904

為什麼要用cv**ail

當我們開發人員分散各處時,很難了解cvs server上到底更新了什麼,而且每天去閱讀cvs上大量的更新日誌也是一件很麻煩的事情。通過cv**ail,你可以及時準確的通知每個開發人員伺服器上的內容發生了什麼更新。

前提

假設你已熟知cvs伺服器設定指南 (

http://www.bestunix.net/p/cvs_server_config.php ),並已配置好了自己的cvs伺服器

假設你已經配置好了mail伺服器,如果沒有配置的話請參考xuki的 qmail安裝指南 (

如何獲得

其實cv**ail有好幾個版本,不過這裡我選用的是最簡單的那個,安裝配置非常容易,而且它已經可以實現我們需要的大部分的功能。

2.check out出乙個你的cvsroot模組的拷貝,

我們假設把這個模組放入/tmp/cvs目錄,伺服器端cvs倉庫路徑為/home/cvsroot

**mkdir /tmp/cvs

cd /tmp/cvs

cvs -d :pserver:[email protected]:/home/cvsroot login

cvs -d :pserver:[email protected]:/home/cvsroot co cvsroot

./install.pl /tmp/cvs/cvsroot

4.進入/tmp/cvs/cvsroot目錄,根據你的系統設定來編輯cv**ail.cfg檔案,主要需要編輯下面幾個地方

$mailto 設定為cvs commit時會接收到郵件的使用者,注意這裡只能設定乙個使用者,如果需要多個使用者接收的話,則需要設定為乙個郵件列表

需要注意的是這裡設定的是使用者名稱,實際上接受郵件的是 username@hostname,比如我們設定的使用者名稱是cvsupdate,當前主機名是bestunix.net,那麼收件人就是[email protected]

$from_host 發件人的網域名稱,預設是主機名,一般不用做什麼設定,cvs的發件人預設是cvsroot,所以,我們收到的通知郵件一般都是 cvsroot@hostname傳送的,比如[email protected]

$sendmail 一般保留預設就好了,如果你的郵件伺服器是qmail的話,需要改為"/var/qmail/bin/qmail-inject"

$p_* 這裡主要是指定這些應用程式的路徑,一般不用修改,如果你不確定的話,可以用whereis來察看一下

5.修改完上面選項以後,用 cvs commit提交到伺服器上,下次cvs commit你就會收到郵件通知了.

第二種情況,沒有乙個原始的cvsroot

那麼,我們需要手工做一些install.pl的工作,我們看看install.pl都做了什麼

1. copy cv**ail.pm, cv**ail.cfg, cv**ail.pl, precommit.pl到你check out出來的cvsroot裡面,比如/tmp/cvs/cvsroot

**cp cv**ail* /tmp/cvs/cvsroot

cp pre* /tmp/cvs/cvsroot

然後把這幾個檔案都加入cvs倉庫

**cvs add cv**ail.pm

cvs add cv**ail.cfg

cvs add cv**ail.pl

cva add precommit.pl

2. 在cvsroot/commitinfo這個檔案中加入下面行

**all               $cvsroot/cvsroot/precommit.pl

3. 在cvsroot/loginfo這個檔案中加入下面行

**all               $cvsroot/cvsroot/cv**ail.pl %

4. 修改cv**ail.cfg,同第一種情況  

5. 提交上面修改過的檔案

cvs commit

一點經驗:

cv**ail本身沒有什麼日誌可查,如果你發現自己的cv**ail不能正常使用時,可以到cvsroot的home目錄中察看mailbox檔案中的退信資訊

乙個cvs更新郵件的樣例

**主題; [cvs update] cvs commit: cvsroot cv**ail.cfg

cvsroot             2005/07/23 21:23:47 cst

modified files:

.                    cv**ail.cfg

log:

add header

revision  changes  path

1.11      +1 -1    cvsroot/cv**ail.cf    

配置CVS伺服器

首先安裝了 rhel 4 預設情況下,如果你選中了 rhel 的開發包,cvs就會預設安裝了。redhat 的cvs 是把客戶端和服務端放在了乙個 rpm包中了。害我找了半天的 cvsd l如果是編譯安裝,需要你在 etc service 檔案中新增下面的兩行 cvspserver 2401 tcp...

搭建CVS伺服器

2 安裝cvsnt 3 啟動服務 add 新增目錄 5 cmd命令下 set cvsroot pserver owner 127.0.0.1 cvsproject hello owner為window登入帳號 6 cvs login 輸入系統密碼 7 建立使用者 cvs password r own...

CVS伺服器的配置

cvs想必做軟體開發的都聽說過,那麼怎麼才能讓開發人員享受這一便利工具呢?當然是裝個cvs伺服器了。windows下有個cvsnt,沒用過,據說問題比較多。linux下當然簡單了,debian下更是如此。修改配置檔案 檢查一下 etc cvsd cvsd.conf檔案,確認最後幾行類似如下的形式 r...