2009-02-01 62 views

回答

18

當創建新庫在hooks/post-commit.tmpl中提供了示例提交後掛接。它包含一行看起來或多或少是這樣的:

/usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" [email protected] 

只是你要發送通知,該腳本重命名爲hooks/post-commit地址代替電子郵件(刪除tmpl擴展名),並使其可執行(chmod a+x )。

當您運行沒有任何參數的commit-email.pl腳本時,您將看到一個使用屏幕,其中包含允許修改主題行或發件人地址的附加選項。

請注意,Debian的情況是commit-email.pl腳本位於可選subversion-tools包中。

10

我們使用svnmailer爲此。我們將我們特定於存儲庫的post-commit掛鉤腳本符號鏈接到一個腳本,該腳本又調用svnmailer。配置非常簡單,通過它們的simple.conf示例配置,您可以在幾分鐘內啓動並運行。請注意,它是用Python編寫的,所以這是安裝的先決條件。

我們整個提交後鉤子腳本是隻有幾行(請注意,你可能會做其他的東西在你的post-commit鉤子,但我們目前還沒有):

#!/bin/sh 

CONFIG="/usr/local/svnmailer/default.conf" 
MAILER="/usr/bin/svn-mailer" 

# These are passed in by subversion 
REPOS="$1" 
REV="$2" 

"${MAILER}" --commit \ 
      --config "${CONFIG}" \ 
      --repository "${REPOS}" \ 
      --revision "${REV}" \ 
      --background 
+0

這看起來不錯,謝謝 – 2009-02-01 23:02:56

+0

不客氣。對不起,這是錯誤的答案。 – 2009-02-01 23:33:21

+0

如果我能接受兩者,我會。只要我發現commit-email.pl太限制了,我就直接跑到svnmailer。再次感謝! – 2009-02-01 23:41:30

33

雖然這個問題是有點老了,只是想我要離開我爲那些來到這裏,從谷歌的意見:

我認爲這裏提到的解決方案。 commit-email.pl對我來說既簡單又好。但是,我發現兩種解決方案都缺乏適當的格式。

因此,svnnotify包似乎爲我產生足夠好的格式化和彩色電子郵件。

在Debian/Ubuntu的系統,您可以通過鍵入安裝:

apt-get install libsvn-notify-perl 

然後,如果你要發送電子郵件到Gmail帳戶,由於在Gmail奇CSS的支持,我會強烈建議應用補丁found here,這意味着:

  • 下載HTML.pmColorDiff.pm
  • 替換他們/usr/share/perl5/SVN/Notify/HTML.pm/usr/share/perl5/SVN/Notify/HTML/ColorDiff.pm,RESP ectively。

最後,建立了post-commit鉤子腳本通常的方式:

# email notifications for commits 
/usr/bin/svnnotify --repos-path "$REPOS" --revision "$REV" \ 
    --to [email protected] \ 
    --from [email protected] \ 
    --with-diff \ 
    --subject-cx \ 
    --subject-prefix 'Your Project Name: ' \ 
    --handler HTML::ColorDiff \ 
    --css-inline 
    2>&1 & 

exit 0 
-1

檢查SVN-MOD-電子郵件包描述heresvn-mod-email是一款功能強大的SVN電子郵件通知管理工具,以Debian存檔形式提供。它很容易安裝,配置和使用。

相關問題