-1
當特定文件提交到我們的SVN存儲庫時,我正試圖向我們的測試團隊成員發送電子郵件。我有post-commit
掛鉤正常工作使用sendmail
與所有適當的內容,但問題是運行sendmail
命令需要時間和團隊成員會抱怨。我向TortoiseSVN控制檯發送了一條消息,讓用戶知道發生了什麼,但直到發送郵件之後纔會顯示,這使郵件實際上無用。在SVN後臺提交後臺發送電子郵件
我有兩個問題:
- 我可以以某種方式使我的鉤輸出此消息之前
sendmail
運行?echo
命令在sendmail
之前,但它似乎沒有太多 - 我可以強制
sendmail
命令在後臺運行嗎?
下面是腳本:
REPOS="$1"
REV="$2"
TXN_NAME="$3"
# Make sure that the log message contains some text.
SVNLOOK=/opt/bitnami/subversion/bin/svnlook
SENDMAIL=/usr/sbin/sendmail
AUTHOR=$($SVNLOOK author -r "$REV" "$REPOS")
FOUND=$($SVNLOOK changed -r "$REV" "$REPOS" | grep -Pc '[U]\s+.+(file.txt)$')
MAILLOCATION=/home/bitnami/svn/test
MAILMESSAGE="To: [email protected]\nFrom: [email protected]\nSubject: File was modified\n\n$AUTHOR modified the file"
if [ $FOUND -eq 1 ]; then
echo "You've modified the file, yada yada yada" >&2
echo "Note: Your commit did not fail, even though the text says it did." >&2
$SENDMAIL -t < $MAILLOCATION &
exit 1
fi
exit 0
我使用eval $($SENDMAIL -t < $MAILLOCATION) &
嘗試和其他一些東西作爲sendmail
命令,但沒有任何幫助。
順便說一下兩者:我建議檢查爲什麼sendmail命令需要年齡。 – Cyrus
https://www.visualsvn.com/support/topic/00018/或http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/mailer/? – bahrep
@bahrep這是VisualSVN。我沒有使用它。 – Brandon