Svnmailer部署及应用

时间:2024-03-14 21:00:00

SvnSmailer部署及应用

Svnmailer有啥用? 
其实就是有人提交svn后,能自动发个邮件。能告诉我们有谁提交了代码,代码都有哪些改动。 
啥是svnmailer? 
Svnmailer是一个工具,利用 subversion 钩子实现代码提交后的邮件提醒功能。 
Svnmailer咋用? 
要想用svmailer首先得有个svn(svn具体安装就不说了百度吧!),之后需要下载一个 Svnmailer-1.0.9。 
setp 1:安装svnmailer: 
Svnmailer部署及应用 
执行svn-mailer –version 查看安装版本。 
Svnmailer部署及应用 
setp2:配置svnmailer.conf (重要啊) 
想要实现发邮件,给谁发,发啥内容,全靠svnmail.conf 
创建mailer.conf(名字随便起),路径无所谓,为了方便管理,可以放在一个svn仓库中。 
Svnmailer部署及应用 
Svnmailer部署及应用 
Setp3:配置hooks 
进入hooks目录 
Svnmailer部署及应用 
hooks下有很多文件,我们只针对commit提交做发邮件处理,所以只需修改post-commit。需要用哪个模板去掉tmpl后缀即可。 
Svnmailer部署及应用 
将post-commit修改如下图:CONFIG为svnmailer的配置文件绝对路径 
Svnmailer部署及应用 
保存之后,不要忘了设置权限 
Svnmailer部署及应用

至此我们就可以提交个文件试试能不能收到邮件了。我们会发现如果diff内容在附件里则不会有中文乱码问题,而如果放在邮件内容里,则会显示为乱码。 
那么如何处理乱码呢?

Setp4:中文乱码 
通过设置svn的properties。读取属性的优先级是有小到大,先读取文件本身的属性,如果没有就读取上一级目录的,如果都没有则默认为ISO-8859-1。 
方法一:Linux进入工作副本,直接设置属性 
Svnmailer部署及应用

方法二:Linux进入工作副本,编辑svn属性 
Svnmailer部署及应用

方法三:windows进入工作副本 
Svnmailer部署及应用 
右键选择TortoiseSVN->Properties 
Svnmailer部署及应用
选择New->Other->Property name:输入svnmailer:content-charset –>ProPerty value:输入规则 ->点击OK。 
设置好之后,同样别忘了提交项目。 
这样设置的前提,我们需要先checkout,如果文件很大checkout很费时,怎么办?

方法四:通过Repository Browser设置(推荐) 
Svnmailer部署及应用 
Svnmailer部署及应用
Svnmailer发的邮件长啥样? 
就长这样: 
Svnmailer部署及应用

相关资料: 
Svnmailer官网: 
http://opensource.perlig.de/svnmailer/ 
Subversion 服务器mailer指南: 
http://it.chinawin.net/softwaredev/article-11f44.html 
How to Get Email Notifications from Subversion on Commits: 
http://www.question-defense.com/2010/06/30/how-to-get-email-notifications-from-subversion-on-commits