功能:在代码提交到版本库后自动发送邮件到相关成员。
环境: windows XP
-----------
步骤:
1.
进入库的hooks目录:
创建两个文件(post-commit.bat 和 groupList.txt)。
post-commit.bat 批处理在代码提交成功后调用;
groupList.txt 为收件人列表文件;
2. 下载,复制
blat.exe 文件到系统目录;post-commit.bat 文件如下
- :: begin of post-commit.bat
- :: 提交结束后,用blat发邮件通知相关人员
- @echo off
- rem Add path to Subversion executable
- //set path=%path%;D:\VersionControl\Subversion\Subversion\bin
- rem Add path to Blat
- //set path=%path%;H:\VersionControl\svn\mailer\blat194
- setlocal
- SET REPOS=%1
- SET REV=%2
- :: LOG_FILE 用于记录log AUT_FILE用于记录作者
- SET LOG_FILE=%TEMP%.\svnfileR-%REV%.html
- SET AUT_FILE=%TEMP%.\svnfileA-%REV%
- echo ^<html^> >> %LOG_FILE%
- echo ^<a href="svn:%1"^>svn路径:%1^</a^> rev: %2 >> %LOG_FILE%
- echo ^<h2 style="color:#FFFFFF; background: green;"^>Information^</h2^> >> %LOG_FILE%
- :: 输出提交作者
- echo ^<div^>^<b^>提交作者:^</b^> >> %LOG_FILE%
- svnlook author -r %REV% %REPOS% >> %LOG_FILE%
- echo ^</div^> >> %LOG_FILE%
- :: 输出提交时间
- echo ^<div^>^<b^>提交时间:^</b^> >> %LOG_FILE%
- svnlook date -r %REV% %REPOS% >> %LOG_FILE%
- echo ^</div^> >> %LOG_FILE%
- :: 输出记录信息
- echo ^<div style="color:#FFFFFF; background:#4682B4;"^>^<p^>^<b^>信息:^</b^>^</p^> >> %LOG_FILE%
- svnlook log -r %REV% %REPOS% >> %LOG_FILE%
- echo ^</div^>^<hr^> >> %LOG_FILE%
- echo ^<h2 style="color:#FFFFFF; background: green;"^>Changed Files^</h2^> >> %LOG_FILE%
- svnlook changed -r %REV% %REPOS% >> %LOG_FILE%
- echo ^</html^> >> %LOG_FILE%
- :: 将LOG_FILE的内容作为邮件内容发送出去
- blat "%LOG_FILE%" -tf "发送邮件收件人清单文件,绝对路径" -subject "[svn] rev %REV%, %AUTHOR%" -server "smtp.*.com" -f "*@*.com" -u "" -pw ""
- DEL %LOG_FILE%
- :: end of post-commit.bat
groupList.txt 文件如下:
*@*.com
1234@123.com
发表于 @
2008年10月14日 23:35:00 | | 编辑|
举报| 收藏