Allow user-customization of the default SVN backend.

Review Request #5970 — Created June 10, 2014 and submitted — Latest diff uploaded

Information

Review Board
release-2.0.x
10e673b...

Reviewers

Users may end up having both PySVN and Subvertpy installed on the same
system. A previous change had SVNTool favor PySVN over Subvertpy, but
it's useful to be able to specify which one specifically should be used
(especially for development and testing).

The list of possible backends is now specified in
settings.SVNTOOL_BACKENDS. It can be overridden to choose a different
backend (even a custom one, in theory).

This will also form the basis of new multi-backend unit tests.

Tested swapping the backends, with some logging to see which client was
used. The unit tests ran with the custom backend.

Tested emptying the list, which resulted in SVNTool being unusable due to
missing dependencies (same as if neither backend's dependencies were installed).

Tested setting the list to a non-existent module.

Tested setting the list to an actual module that was not a SVNTool backend