SVN::Notify::Filter::Watchers - Subscribe to SVN::Notify commits with a Subversion property.
Version 0.09
Use svnnotify in post-commit:
svnnotify --p "$1" --r "$2" --to you@example.com --handler HTML \ --filter Watchers
Use the class in a custom script:
use SVN::Notify; my $notifier = SVN::Notify->new( repos_path => $path, revision => $rev, to => 'you@example.com', handler => 'HTML::ColorDiff', filters => [ 'Watchers' ], ); $notifier->prepare; $notifier->execute;
This SVN::Notify::Filter will allow you to add additional recipients to an email by checking a Subversion property (default of svnx:watchers, and can be overridden with watcher_property (or --watcher-property option for svnnotify). The value of the watcher property is a new line and/or space separated list of email addresses.
svnx:watchers
watcher_property
--watcher-property
svnnotify
This filter will walk up the path to root for each path entry that has changed and add recipients if the watcher property has been set. This way you can in effect set the property on /trunk and get ALL commits that happen below /trunk. When an path has been deleted it will check the previous revision for the watcher property. You can also set skip_walking_up (--skip-walking-up) to stop this behavior.
/trunk
skip_walking_up
--skip-walking-up
By default the filter will then walk down the path of a deleted path and check for recipients to add. This behavior can be changed by adding setting skip_deleted_paths (or --skip-deleted-paths).
skip_deleted_paths
--skip-deleted-paths
Since this is just a filter, there are certain behaviors we can't control, such as not requiring at least on --to address. Unless you have some addresses that should get all commits, regardless of the watcher property, you may want to set the --to to some address that goes to /dev/null or does not bounce. However, if you set trim_original_to (--trim-original-to), it will remove the --to addresses before it finds all the watcher properties.
--to
/dev/null
trim_original_to
--trim-original-to
Larry Shatzer, Jr., <larrysh at cpan.org>
<larrysh at cpan.org>
Please report any bugs or feature requests to bug-svn-notify-filter-watchers at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SVN-Notify-Filter-Watchers. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-svn-notify-filter-watchers at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc SVN::Notify::Filter::Watchers
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=SVN-Notify-Filter-Watchers
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/SVN-Notify-Filter-Watchers
CPAN Ratings
http://cpanratings.perl.org/d/SVN-Notify-Filter-Watchers
Search CPAN
http://search.cpan.org/dist/SVN-Notify-Filter-Watchers
David Wheeler for SVN::Notify.
Copyright 2008-2010 Larry Shatzer, Jr., all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install SVN::Notify::Filter::Watchers, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SVN::Notify::Filter::Watchers
CPAN shell
perl -MCPAN -e shell install SVN::Notify::Filter::Watchers
For more information on module installation, please visit the detailed CPAN module installation guide.