loginfo.rb:自動寄送修改記錄信件

在CVS主機的Repository內有一個特殊的CVS控制目錄:CVSROOT,此目錄內存放著許多控制CVS操作行為的小檔案,或許可以簡化的稱為 CVS的Event handler,例如:loginfo是在commit、輸入Log message後會讀取的檔案。

loginfo內除了註解(井號開頭)外的每一列都會被CVS程式讀取,依開頭的樣式來決定此次commit的檔案是否要執行其後的命令。例如:

# 井號開頭是註解行
模組樣式    命令  [參數1 [參數2 [...參數n]…]]

模組樣式是使用正規運用式(Regular Expression)來示符合要執行的是那些模組,例如:

^inetpub 表示以inetpub開頭的模組(目錄)
ALL 表示所有模組都符合
DEFAULT 由可執行的第一列開始都不符合的,最後會執行DEFAULT列的指令

模組樣式後面接的是要執行的命令。有一個相當好用的指令是Rob Partington寫的loginfo.rb,一支用來產生mail的Ruby程式,將修改人、修改時間、修改程式等訊息寄給需要通知的相關人等。loginfo.rb的使用說明如下:

# Usage: loginfo.rb CVSROOT USER ‘CVS-LOG-STRING’ MAIL_ADDRESSES
#     [-d HELO_DOMAIN] [-s SMTP_SERVER] [-p SUBJECT_PREFIX]
#     [-S SENDER_ADDRESS] [-R REPLY_TO_ADDRESS] [-x X_HEADER_PREFIX]
#     [-w CVSWEB_URL] [-C PATH_TO_CVS] [-qJ]
#
# -d    specify the domain to use in the SMTP session and in the mail header
#     (default: FQDN of the host)
# -s    specify the SMTP server to mail via
#     (default: "localhost")
# -S    specify the sender address for the mail
#     (default: USER + "@" + HELO_DOMAIN)
# -R    specify the reply-to address for the mail
#     (default: none)
# -p    specify the prefix for the mail subject (which will be surrounded
#     by `[' and `]‘)
#     (default: "cvs")
# -q    be quiet
# -x    specify the prefix for the CVS informative headers
#     (default: "X-")
# -w    specify the URL of the CVSweb with two @’s, one for a path, and
#     the other for a query (e.g. "‘http://a.b/cvsweb.cgi@?cvsroot=xyz&@’")
#     (default: none – no CVSweb links will be added)
# -C    specify the full path to cvs
#     (default: "/usr/bin/cvs")
# -J    enable Japanese support (send mail in the JIS encoding)
#     (default: disabled)

使用範例:

# 把inetpub與其子目錄內檔案的commit都寄通知給紅色字體的電子郵件帳號
# %s 是輸入的log message
^inetpub $CVSROOT/CVSROOT/loginfo.rb $CVSROOT $USER %s adam@hotmail.com,bill@gmail.com,cathy@pchome.com.tw -s mail.box.com.tw -S cvs_logingo@mail.box.com.tw

要使用loginfo.rb當然要安裝Ruby環境;另外,以上指令都是在Linux上執行的,Windows環境需要做些小修改。在Windows中有一個叫做CVSMailer的Delphi程式,也可以用來寄送修改記錄,但我幾年前測試時始終無法正常運行,您也可以試看看。

如果想要對程式版本間的修改做更詳細的記錄與追蹤的話,可以自行撰寫程式,將修改程式、Log訊息等寫入資料庫,則日後就能使用SELECT敘述做查詢了。

##

您可能也會有興趣的類似文章

填寫回應

 

 

 

您可使用這些HTML標籤

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

隨機文章

  1. 免費、開源又跨平台的檔案同步軟體:DirSync Pro 
  2. [iReport] 元件顏色與快速鍵 (修正) 
  3. [iReport] 奇偶列變換底色 
  4. [創作] 個人網頁全都連:Show Yourself Generator V1.0 
  5. 記帳隨處走:記帳網站 (7)
  6. [轉貼] 架站好書,極度推薦《站長親授! WordPress 3.0 部落格架站十堂課》 (2)
  7. [Xuite] 令人混淆的「我的日誌」和「日誌列表」 
  8. 亞洲電腦巨擘之間的博弈 
  9. [Tools] 跨平台的小畫家工具:mtPaint 2.30 
  10. 將Plurk回應區變成固定寬度 

歷史熱門文章

  1. 如何手動輸入Plurk的表情圖示? (353,088 點擊/2008-09-29)
  2. 簡單放大Plurk輸入區的方法[修訂] (86,929 點擊/2008-09-29)
  3. 啟用&關閉中華電信ZyXEL P874的無線網路連線功能的步驟[修訂] (84,018 點擊/2011-06-01)
  4. Plurk CSS樣式自訂修改全攻略 (83,122 點擊/2009-07-04)
  5. 網路升級光世代50M/3M與設定ZyXEL P874 (53,311 點擊/2011-05-28)
  6. 輕鬆學會彈指神功-揭露AutoHotkey絕技 (43,178 點擊/2008-04-10)
  7. iPad新手入門技巧 (40,426 點擊/2011-02-05)
  8. 分享世博台灣館主題曲『台灣的心跳聲』MV(附歌詞+下載連結+新歌詞) (38,151 點擊/2010-04-27)
  9. 把HTC Touch HD操作介面換成Spb Mobile Shell,美觀又便利! (37,956 點擊/2009-02-18)
  10. 另一套適用手機的影片轉檔工具:WinAVI 3GP/MP4/PSP/iPod Video Converter (35,922 點擊/2009-04-18)