热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

当前位置 :| 主页>Linux教程>Linux入门>

SVN 自动邮件通知 的两种方式以及中文解决方案

来源: 作者: 时间:2007-11-20 Tag: 点击:
互联网上有很多相关的文章,但是说明的不够明了,我参考这些文章来配置的时候,走了不少弯路。现在将这两种方式整理一下。

第一种方式 通过svnnotify来发送邮件

/usr/bin/svnnotify --repos-path "$1" --revision "$2" --to real@admin.net --from real@admin99.net --handler "HTML::ColorDiff"  --with-diff --smtp mail.admin99.net --charset zh_CN:GB2312  -g zh_CN --svnlook /usr/local/subversion/bin/svnlook --subject-prefix '[SVN更新]'

svnnotify有很多参数,可以通过svnnotify --help 或者man svnnotify 查看

好多文章中在介绍这种方式的时候,没有加上svnlook的绝对路径,我实在是很纳闷,可能是他们的subversiong在安装的时候没有加上 --prefix=/yourpath 参数,把subversion安装在了默认路径,我的subversion是安装在/usr/local/subversion之下的, svnnotify在默认的/usr/bin下找不到svnlook,所以,在邮件通知中无法出现log信息,diff信息等等。加上这个参数之后,问题解决。

还有更搞笑的是,很多关于这个的文章把 -l 参数当作svn 记录日志文件的参数,寒~~ -_-!! 可能是把svnnotify和commit-email.pl搞混了,在svnnotify中,这个参数是 --language 。

这种方式还有另外一个问题,中文转码的问题,经过N次尝试之后,log信息中的中文,diff信息中的中文仍然显示的是乱码,最后因为时间紧迫,不得不先放弃这种方式。

第二种方式 通过commit-email.pl 来发送邮件

/usr/local/subversion/bin/commit-email.pl "$1" "$2" --from real@admin99.net -h admin99.net  -s "[SVN 更新]" --diff y svnhejia@51hejia.com

默认情况下,在subversion的bin目录下,没有commit-email.pl这个文件,是我从src中copy过来的。

关于commit-email.pl所能用的参数,可以通过直接执行/usr/local/subversion/bin/commit-email.pl 来查看,当然这个时候是执行不了了,提示错误是参数太少,然后给你列出来一些参数。参数不多。
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册