SVNNotify: не отправлять уведомления по электронной почте, когда в сообщении журнала SVN присутствует специальное ключевое слово. - PullRequest
1 голос
/ 10 октября 2011

Я использую SVNNotify для отправки уведомлений после фиксации. Иногда я делаю опечатку и хочу зафиксировать снова, но я НЕ хочу бомбардировать моих пользователей еще одним неважным сообщением электронной почты. Поэтому было бы неплохо иметь специальную директиву, сообщающую SVNNotify, что на этот раз НЕ нужно отправлять письма. Что-то отправлено через сообщение журнала svn:

svn commit -m 'Typo (_no_email _)'

Таким образом, SVNNotify проанализирует _no_email_ и поймет, что ему НЕ нужно уведомлять на этот раз.

Кто-нибудь знает PERL и / или SVNNotify, чтобы выполнить такой взлом Notify.pm?

Спасибо !!!

Ответы [ 2 ]

1 голос
/ 14 октября 2011

Вы можете просто добавить следующую строку в /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];
}
0 голосов
/ 14 октября 2011

SVN :: Notify имеет способ создавать пользовательские фильтры.Посмотрите документацию по SVN :: Notify :: Filter.Это выглядит довольно просто, и есть много примеров.

perldoc SVN::Notify::Filter
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...