SvnSmailer部署及应用
Svnmailer有啥用?
其实就是有人提交svn后,能自动发个邮件。能告诉我们有谁提交了代码,代码都有哪些改动。
啥是svnmailer?
Svnmailer是一个工具,利用 subversion 钩子实现代码提交后的邮件提醒功能。
Svnmailer咋用?
要想用svmailer首先得有个svn(svn具体安装就不说了百度吧!),之后需要下载一个 Svnmailer-1.0.9。
setp 1:安装svnmailer:
执行svn-mailer –version 查看安装版本。
setp2:配置svnmailer.conf (重要啊)
想要实现发邮件,给谁发,发啥内容,全靠svnmail.conf
创建mailer.conf(名字随便起),路径无所谓,为了方便管理,可以放在一个svn仓库中。
Setp3:配置hooks
进入hooks目录
hooks下有很多文件,我们只针对commit提交做发邮件处理,所以只需修改post-commit。需要用哪个模板去掉tmpl后缀即可。
将post-commit修改如下图:CONFIG为svnmailer的配置文件绝对路径
保存之后,不要忘了设置权限
至此我们就可以提交个文件试试能不能收到邮件了。我们会发现如果diff内容在附件里则不会有中文乱码问题,而如果放在邮件内容里,则会显示为乱码。
那么如何处理乱码呢?
Setp4:中文乱码
通过设置svn的properties。读取属性的优先级是有小到大,先读取文件本身的属性,如果没有就读取上一级目录的,如果都没有则默认为ISO-8859-1。
方法一:Linux进入工作副本,直接设置属性
方法二:Linux进入工作副本,编辑svn属性
方法三:windows进入工作副本
右键选择TortoiseSVN->Properties
选择New->Other->Property name:输入svnmailer:content-charset –>ProPerty value:输入规则 ->点击OK。
设置好之后,同样别忘了提交项目。
这样设置的前提,我们需要先checkout,如果文件很大checkout很费时,怎么办?
方法四:通过Repository Browser设置(推荐)
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