Ubuntu下配置SVN自动发送邮件通知
1.安装相关软件:sudo apt-get install libauthen-sasl-perl @H_403_2@
1.安装相关软件:sudo apt-get install libauthen-sasl-perl @H_403_2@
如果没安装libauthen-sasl-perl,则会提示错误:SMTP Error: Need MIME::Base64 and Authen::SASL todo auth
@H_403_2@
2.由http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/commit-email.pl.in下载脚本文件,保存为commit-email.pl。
需要注意的是如果该文件是在windows下创建的,在拷贝到Ubuntu@H_502_9@环境下需要转换格式,可使用dos2unix进行转换。@H_502_9@
3.修改commit-email.pl脚本:
1.commit-email.pl 的默认perl路径#!/usr/bin/env perl 改为/usr/bin/perl
2.设置smtp server,对于 公共邮件服务器还需要设置用户名密码@H_502_9@:
my ($sendmail,$smtp_server);改为my ($sendmail,$smtp_server,$uname,$passwd@H_502_9@);
$smtp_server = " smtp.163.com@H_502_9@";
$username='mailaccount***';
$passwd='*******';@H_502_9@
my $smtp = Net::SMTP->new($smtp_server)
or die "$0: error opening SMTP session to `$smtp_server': $!/n";
之后加入 handle_smtp_error($smtp,$smtp->auth("$username","$passwd"));@H_502_9@ @H_403_2@
3.设置my $svnlook = " /usr/bin/svnlook@H_502_9@";
设置my $no_diff_deleted = 1@H_502_9@;
设置my $no_diff_added = 1@H_502_9@; @H_403_2@
需要注意的是如果该文件是在windows下创建的,在拷贝到Ubuntu@H_502_9@环境下需要转换格式,可使用dos2unix进行转换。@H_502_9@
3.修改commit-email.pl脚本:
1.commit-email.pl 的默认perl路径#!/usr/bin/env perl 改为/usr/bin/perl
2.设置smtp server,对于 公共邮件服务器还需要设置用户名密码@H_502_9@:
my ($sendmail,$smtp_server);改为my ($sendmail,$smtp_server,$uname,$passwd@H_502_9@);
$smtp_server = " smtp.163.com@H_502_9@";
$username='mailaccount***';
$passwd='*******';@H_502_9@
my $smtp = Net::SMTP->new($smtp_server)
or die "$0: error opening SMTP session to `$smtp_server': $!/n";
之后加入 handle_smtp_error($smtp,$smtp->auth("$username","$passwd"));@H_502_9@ @H_403_2@
3.设置my $svnlook = " /usr/bin/svnlook@H_502_9@";
设置my $no_diff_deleted = 1@H_502_9@;
设置my $no_diff_added = 1@H_502_9@; @H_403_2@
命令行测试能否发邮件:
@H_403_2@
./commit-email.pl /home/Share/hui/myandroid_R9/trunk/ 1
liuyh@tom.com--from
liuyh8@163.com
@H_403_2@
4.设置邮件标题及内容格式
4.将commit-emai.pl文件保存到版本库父目录svnroot下:/usr/share/subversion/hook-scripts,在版本库的hooks目录( 可用命令locate post-commit查看svn hooks安装在什么目录,svn安装目录的hoots/post-commit@H_502_9@才会被调用@H_502_9@)/home/root/hooks中创建post-commit,内容如下:
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export PATH=$PATH:/usr/share/subversion/hook-scripts @H_403_2@
4.设置邮件标题及内容格式
4.将commit-emai.pl文件保存到版本库父目录svnroot下:/usr/share/subversion/hook-scripts,在版本库的hooks目录( 可用命令locate post-commit查看svn hooks安装在什么目录,svn安装目录的hoots/post-commit@H_502_9@才会被调用@H_502_9@)/home/root/hooks中创建post-commit,内容如下:
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export PATH=$PATH:/usr/share/subversion/hook-scripts @H_403_2@
/usr/share/subversion/hook-scripts/commit-email.pl /
"$REPOS" "$REV" /
liuyh@tom.com/
--from liuyh@163.com @H_403_2@
"$REPOS" "$REV" /
liuyh@tom.com/
--from liuyh@163.com @H_403_2@