我正在使用SVNNotify发送提交后通知消息。有时候我会输错,我想再次提交,但我不想用另一个不重要的电子邮件来轰炸我的用户。所以最好有一个特殊的指令告诉SVNNotify这次不需要发送任何电子邮件。通过svn日志消息发送的东西:
svn commit -m'Typo(_no_email _)'
因此SVNNotify将解析_no_email_并理解它不需要通知此时间。
有没有人知道PERL和/或SVNNotify在Notify.pm上执行这样的黑客攻击?
谢谢!!!
答案 0 :(得分:1)
您可以在/usr/local/share/perl/5.10.1/SVN/Nofity.pm上添加以下行:
# Abort if log message ends with _
exit if ($self->{message}[0] =~ /_\s*$/);
在这个循环内的第1299行:
# Add the first sentence/line from the log message.
unless ($self->{no_first_line}) {
# Abort if log message ends with _
exit if ($self->{message}[0] =~ /_\s*$/);
# Truncate to first period after a minimum of 10 characters.
my $i = index substr($self->{message}[0], 10), '. ';
$self->{subject} .= $i > 0
? substr($self->{message}[0], 0, $i + 11)
: $self->{message}[0];
}
答案 1 :(得分:0)
SVN :: Notify可以创建自定义过滤器。看一下SVN :: Notify :: Filter的文档。它看起来很简单,有很多例子。
perldoc SVN::Notify::Filter