我使用的debian6 在安装完subversion后装一下subversion-tools,这个包里面有个/usr/share/subversion/hook-scripts/mailer/mailer.py 用来对比两个版本库的不同并且发邮件给指定的邮件列表人员等。
但是这个mailer.py有个不好的地方就是不知道更新的是那个仓库的名之 默认只有路径。反正是Python的 就对他进行了一点小改造
[bash]diff -uN /usr/share/subversion/hook-scripts/mailer/mailer.py mailer.py >~/mailer.py.patch[/bash]
补丁在此
[download id="26" format="2"]
解压缩后直接用patch命令打补丁就好了。
[bash]cp /usr/share/subversion/hook-scripts/mailer/mailer.py ~
cd ~
patch mailer.py <mailer.py.patch[/bash]
debian6其他版本的应该也类似 这个你们用patch查看工具看一下那个补丁就可以了。
只是这个文件还没发发邮件 得配置下
[bash]cp /usr/share/subversion/hook-scripts/mailer/mailer.conf.example mailer.conf[/bash]
把这个mailer.conf放到SVN的conf文件夹里面
要改动的地方不多。
mail_command = /usr/sbin/sendmail
smtp_hostname = localhost
前面的注释去掉
根据自己实际情况修改
还有什么smtp_username什么的 自己都改改
为了弄清楚一点commit_subject_prefix什么也可以改改
我改的是
commit_subject_prefix = [SVN Commit]
propchange_subject_prefix =[SVN Change]
#留空以便显示SVN用户的名字
from_addr=
#多个用户用空格隔开 半角空格
to_addr = [email protected]
这样基本上就可以工作了
当然你也可以根据自己的需要新增加段落
如果某个版本库下面不同目录放着不同的代码 需要在加上不同的标题
比如
REPOS/
program/client/ 客户端代码目录
program/server/ 服务端代码目录
doc/ 文档目录
可以这样配置mailer.conf的[defaults]段落
[server]
for_paths = /program/server
to_addr = 这里写服务器开发者邮件列表
commit_subject_prefix = [server][client]
for_paths = /program/client
to_addr = 客户端开发者邮件列表
commit_subject_prefix = [client][design]
for_paths = /doc
to_addr = 文档撰写者邮件列表
commit_subject_prefix = [doc]
这样就可以很好的区分了