在项目文件夹下的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);