The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


SVN::Notify::Filter::EmailFlatFileDB - Converts account names to email address based on a flat-file database


Version 1.01


This is intended to work with SVN::Notify, as part of a subversion post-commit hook.

    svnnotify --repos-path "$1" --revision "$2" ..etc..  \
              --filter EmailFlatFileDB                   \
                    --account_file /x/x/x/users.db         \
                    --account_field 3

    with a text file like other UNIX/Apache password files:


This module is a filter for SVN::Notify, which will translate user account names (e.g. "user1") into email address. It does this based on a colon-separated file, like a UNIX passwd file (or more usefully) the AuthUserFile used by Apache. The file path is specified via the --account_file option to the svnnotify script, and the index (zero-based) of the email field is specified via the --account_field option.

You can use the module in conjunction with SVN::Notify::Filter::AuthZEmail to completely remove the necessity of passing in --from and --to options to the script. (AuthZEmail will determine the account names for the email recipients, and this module will translate the account names into email addresses.)

(This module will remove --to entries that are empty.)



SVN::Notify filter callback function for the "from" email address. By default, SVN::Notify uses the account name of the commit author. This will translate that into the email address, based upon the value in the database file. Note that the svnnotify --from option can also be used to override the default SVN::Notify behavior, and this filter will not modify an email address if it is passed in.


SVN::Notify filter callback function to determine the email addresses for the email recipients, based upon account names passed to SVN::Notify.

Account names will be looked up via the flat-file database, but any email addresses passed in will not be modified. This allows one to enter either account names or email address via the svnnotify --to options. Email addresses are distinguished from account names if there is an '@' in the string. Empty string account names will be discarded. (The SVN::Notify object requires a --to argument, and an empty string account name is a workaround for that, for filters that completely provide the recipient list.)


Jeffrey Borlik, <jborlik at>


Please report any bugs or feature requests to bug-svn-notify-filter-emailflatfiledb at, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc SVN::Notify::Filter::EmailFlatFileDB

You can also look for information at:


Thanks to David E. Wheeler for SVN::Notify, a very useful tool for Subversion.


Copyright 2008 Jeffrey Borlik, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.