功能:在代码提交到版本库后自动发送邮件到相关成员。
环境: windows XP
-----------
步骤:
1. 进入库的hooks目录:
创建两个文件(post-commit.bat 和 groupList.txt)。
post-commit.bat 批处理在代码提交成功后调用;
groupList.txt 为收件人列表文件;
2. 下载,复制 blat.exe 文件到系统目录;
post-commit.bat 文件如下
groupList.txt 文件如下:
*@*.com
1234@123.com
环境: 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
*@*.com
1234@123.com