buildbot/buildbot — pull request #443 by Jc2k (2012-06-03 02:54:53+00:00)
Title: Multiproject svnpoller

This patch teaches SVN Poller how to support multiple projects. This means the split_file function has to return more than just branch and path. I opted to make it return an object. This makes for an easy backwards compatibility check - if i encounter a tuple then i turn it into the new object. It also means I can mutate the object - for example, in the new ```split_file_project_branches``` example i call ```split_file_branches``` and annotate the result with the project.

It closes/invalidates pull request 198 and has these main differences to that approach:

* Doesn't introduce a new callable - still just the ```split_file``` function.
* Doesn't introduce the ```project``` vs ```projects``` distinction. There is no whitelist of projects. If you want to whitelist which projects the poller pays attention to, do it in your ```split_file``` function.
* Allows you to override repository (this might be a bit of an edge case - in my setup i have it rigged up so that even though the real repo root might be https://localhost/svn/root (and that is what i poll), as far as my builder is concerned the root is https://localhost/svn/root/blah/wibble/project/)