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

您所在的位置:网站首页 发短信:配置邮件客户端怎么发 SVN 自动邮件通知 的两种方式以及中文解决方案

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

#SVN 自动邮件通知 的两种方式以及中文解决方案| 来源: 网络整理| 查看: 265

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

w55554 2013-03-10 23:01:06 博主文章分类:Linux

文章标签 linux svn automail 文章分类 运维

互联网上有很多相关的文章,但是说明的不够明了,我参考这些文章来配置的时候,走了不少弯路。现在将这两种方式整理一下。 第一种方式 通过svnnotify来发送邮件 /usr/bin/svnnotify --repos-path "$1" --revision "$2" --to [email protected] --from [email protected] --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 [email protected] -h admin99.net  -s "[SVN 更新]" --diff y [email protected] 默认情况下,在subversion的bin目录下,没有commit-email.pl这个文件,是我从src中copy过来的。 关于commit-email.pl所能用的参数,可以通过直接执行/usr/local/subversion/bin/commit-email.pl 来查看,当然这个时候是执行不了了,提示错误是参数太少,然后给你列出来一些参数。参数不多。 --diff y 是表示在邮件中加入diff信息,这个当然是要的 后面跟的邮件地址,是接收邮件的地址,有人说可以在后面写上N个地址,用空格分开就行,事实上我测试的时候,这种方式根本就收不到邮件了,时间紧迫,不能详细测试。最后不得不在邮件服务器上做了一个组邮件地址。 关于中文问题,通过在commit-email.pl中更改字符集,基本上可以很完美的解决diff信息中的中文问题。 但是对于log信息中的中文,至今尚未找到合适的解决办法。 这个问题的关键应该是在于,svn客户端在提交更新的时候,输入的log信息,使用的是非ascii编码(应该是unicode) ,commit-email.pl(还不缺认问题是不是出在commit-email.pl还是出在svn本身)在处理非ascii编码时,将其转换成了诸如 ?\230?\181?\139?\232?\175?\149?\228?\186?\140 这样的不可读的数字形式。 在互联网上找到一篇文章,是06年写的,提到了一种解决这个的办法,不过我测试下来没有成功,还是贴出来吧,不定谁的就可以成功了 my @difflines; (行487) 的前面加上: for (my $i=0; $i 打赏 收藏 评论 分享 举报

上一篇:svn 邮件通知及LOG处理

下一篇:SVN-钩子祥解



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3