Subversion利用pre-commit在代码提交入库前对log格式进行验证

在项目文件夹下的hooks目录里面,修改pre-commit文件。Subversion在Linux下运行时记得给予正确的权限和可运行权限.不知道怎么搞的就直接用 chmod 755 pre-commit.运行在Windows下时,需要生成pre-commit.exe文件我的脚本用的是Perl,其他语言的话制定好正确的shebang(#!)就可以了。以下是pre-commit的内容:

#!/usr/bin/perl

$REPO = $ARGV[0];
$TXN = $ARGV[1];
$SVNLOOK = "/usr/local/bin/svnlook";
$log = `$SVNLOOK log -t $TXN $REPO`;

#去除开始的空格
$log =~ s/^/s*//;
if(length($log) < 1) {
  $msg = "SVN Admin said:  No log, No Door! ^_^/n";
  die("$msg");
}

#按特定的格式检验log
$ok = $log =~ /^Bug/s+number/s*:/s*.*/s+
               Feature/s+ID/s*:.*/s+
               modifier/s*:.*/s+
               reviewer/s*:.*/s+
               description/s*:.*
              /xsi;
unless($ok) {
  $msg = "Wrong Format,comment must in the following format:/n"
         . "bug number:/nfeature ID:/nmodifier:/nreviewer:/ndescription:/n";
  die($msg);
}

#检验通过,返回成功标志
exit(0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值