There really is no good way to do this. mailer.py is designed so that any commit that does not correspond to another group falls into the default group.
The documentation in mailer.conf.example alludes to this, but doesn't really explain it very well:
The options specified in the [default] section are always selected. the presence of for_repos mismatch is irrelevant. Note that you can still use the for_repos value to extract useful information (more on this later). Any user groups without for_repos or which contain for possible use the corresponding for_repos will be selected.
A subset of user-defined groups identified by the repository is further refined based on the for_paths option. A group is selected if at least one path (*) in commit matches the for_paths regular expression. Note that the paths belong to the root of the repository and do not have a leading slash.
What is specified for for_repos also applies to for_paths relative to the default group. I.E. which for for_paths is only useful for extracting a variable.
One option without making any code changes is to set to_addr in [default] to an address, such as devnull@example.com , which you just throw away. Then set another group with a different to_addr value that will actually be delivered somewhere.
If you want to change your mailer.py tad, you can avoid this by commenting on the following two lines in the which_groups function of the Config class:
if not groups: groups.append((None, self._default_params))
As a Subversion developer for a long time, I think we should add the mailer.py option to request that no mail be generated by the default section. In addition, we must correct the documentation to be clearer in this behavior.
source share