/usr/share/perl5/SVN/Hooks/Notify.pm is in libsvn-hooks-perl 1.27-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | package SVN::Hooks::Notify;
{
$SVN::Hooks::Notify::VERSION = '1.27';
}
# ABSTRACT: Subversion activity notification.
use strict;
use warnings;
use SVN::Hooks;
use Exporter qw/import/;
my $HOOK = 'NOTIFY';
our @EXPORT = qw/NOTIFY_DEFAULTS NOTIFY/;
my %Defaults;
sub NOTIFY_DEFAULTS {
%Defaults = @_;
return 1;
}
my %Options;
sub NOTIFY {
%Options = @_;
POST_COMMIT(\&post_commit);
return 1;
};
sub post_commit {
my ($svnlook) = @_;
require SVN::Notify;
my $notifier = SVN::Notify->new(
%Defaults,
%Options,
repos_path => $svnlook->repo(),
revision => $svnlook->rev(),
);
$notifier->prepare;
$notifier->execute;
return;
}
1; # End of SVN::Hooks::Notify
__END__
=pod
=encoding UTF-8
=head1 NAME
SVN::Hooks::Notify - Subversion activity notification.
=head1 VERSION
version 1.27
=head1 SYNOPSIS
This SVN::Hooks plugin sends notification emails for Subversion
repository activity. It is actually a simple wrapper around the
SVN::Notify module.
It's active in the C<post-commit> hook.
It's configured by the following directives.
=head2 NOTIFY_DEFAULTS(%HASH)
This directive allows you to specify default arguments for the
SVN::Notify constructor.
NOTIFY_DEFAULTS(
user_domain => 'cpqd.com.br',
sendmail => '/usr/sbin/sendmail',
language => 'pt_BR',
);
NOTIFY_DEFAULTS(smtp => 'smtp.cpqd.com.br');
Please, see the SVN::Notify documentation to know about all the
available options.
=head2 NOTIFY(%HASH)
This directive merges the options received with the defaults obtained
from NOTIFY_DEFAULTS and passes the result to the SVN::Notify
constructor.
Note that neither the C<repos_path> nor the C<revision> options need
to be specified. They are grokked automatically.
NOTIFY(
to => 'commit-list@example.com',
with_diff => 1,
);
NOTIFY(
to_email_map => {
'^trunk/produtos|^branches' => 'commit-list@example.com',
'^conf' => 'admin@example.com',
},
subject_prefix => '[REPO] ',
attach_diff => 1,
);
=for Pod::Coverage post_commit
=head1 AUTHOR
Gustavo L. de M. Chaves <gnustavo@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by CPqD.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|