Allow user-customization of the default SVN backend.

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

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

Description From Last Updated

Col: 13 E129 visually indented line with same indent as next logical line

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

'PIPELINE_CSS' imported but unused

reviewbotreviewbot

'PIPELINE_JS' imported but unused

reviewbotreviewbot

undefined name 'has_svn_backend'

reviewbotreviewbot

undefined name 'Client'

reviewbotreviewbot

Col: 17 E129 visually indented line with same indent as next logical line

reviewbotreviewbot

'settings' imported but unused

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

'PIPELINE_CSS' imported but unused

reviewbotreviewbot

'PIPELINE_JS' imported but unused

reviewbotreviewbot

undefined name 'has_svn_backend'

reviewbotreviewbot

undefined name 'Client'

reviewbotreviewbot

Col: 17 E129 visually indented line with same indent as next logical line

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

'PIPELINE_CSS' imported but unused

reviewbotreviewbot

'PIPELINE_JS' imported but unused

reviewbotreviewbot

Col: 17 E129 visually indented line with same indent as next logical line

reviewbotreviewbot

Can we log which backend we ended up using?

daviddavid

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

'PIPELINE_JS' imported but unused

reviewbotreviewbot

'PIPELINE_CSS' imported but unused

reviewbotreviewbot

Col: 17 E129 visually indented line with same indent as next logical line

reviewbotreviewbot

'from settings_local import *' used; unable to detect undefined names

reviewbotreviewbot

'PIPELINE_CSS' imported but unused

reviewbotreviewbot

'PIPELINE_JS' imported but unused

reviewbotreviewbot
reviewbot
  1. This is a review from Review Bot.
      Tool: PEP8 Style Checker
      Processed Files:
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/scmtools/svn/__init__.py (Diff revision 1)
     
     
    Show all issues
    Col: 13
     E129 visually indented line with same indent as next logical line
    
  3. 
      
reviewbot
  1. This is a review from Review Bot.
      Tool: Pyflakes
      Processed Files:
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/settings.py (Diff revision 1)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  3. reviewboard/settings.py (Diff revision 1)
     
     
    Show all issues
     'PIPELINE_CSS' imported but unused
    
  4. reviewboard/settings.py (Diff revision 1)
     
     
    Show all issues
     'PIPELINE_JS' imported but unused
    
  5. 
      
chipx86
  1. Actually, ignore this for now. Going to make some changes.

  2. 
      
chipx86
reviewbot
  1. This is a review from Review Bot.
      Tool: PEP8 Style Checker
      Processed Files:
        reviewboard/scmtools/tests.py
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/scmtools/svn/__init__.py (Diff revision 2)
     
     
    Show all issues
    Col: 17
     E129 visually indented line with same indent as next logical line
    
  3. 
      
reviewbot
  1. This is a review from Review Bot.
      Tool: Pyflakes
      Processed Files:
        reviewboard/scmtools/tests.py
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/scmtools/svn/__init__.py (Diff revision 2)
     
     
    Show all issues
     undefined name 'has_svn_backend'
    
  3. reviewboard/scmtools/svn/__init__.py (Diff revision 2)
     
     
    Show all issues
     undefined name 'Client'
    
  4. reviewboard/scmtools/tests.py (Diff revision 2)
     
     
    Show all issues
     'settings' imported but unused
    
  5. reviewboard/settings.py (Diff revision 2)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  6. reviewboard/settings.py (Diff revision 2)
     
     
    Show all issues
     'PIPELINE_CSS' imported but unused
    
  7. reviewboard/settings.py (Diff revision 2)
     
     
    Show all issues
     'PIPELINE_JS' imported but unused
    
  8. 
      
chipx86
reviewbot
  1. This is a review from Review Bot.
      Tool: PEP8 Style Checker
      Processed Files:
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/scmtools/svn/__init__.py (Diff revision 3)
     
     
    Show all issues
    Col: 17
     E129 visually indented line with same indent as next logical line
    
  3. 
      
reviewbot
  1. This is a review from Review Bot.
      Tool: Pyflakes
      Processed Files:
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/scmtools/svn/__init__.py (Diff revision 3)
     
     
    Show all issues
     undefined name 'has_svn_backend'
    
  3. reviewboard/scmtools/svn/__init__.py (Diff revision 3)
     
     
    Show all issues
     undefined name 'Client'
    
  4. reviewboard/settings.py (Diff revision 3)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  5. reviewboard/settings.py (Diff revision 3)
     
     
    Show all issues
     'PIPELINE_CSS' imported but unused
    
  6. reviewboard/settings.py (Diff revision 3)
     
     
    Show all issues
     'PIPELINE_JS' imported but unused
    
  7. 
      
chipx86
reviewbot
  1. This is a review from Review Bot.
      Tool: PEP8 Style Checker
      Processed Files:
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/scmtools/svn/__init__.py (Diff revision 4)
     
     
    Show all issues
    Col: 17
     E129 visually indented line with same indent as next logical line
    
  3. 
      
reviewbot
  1. This is a review from Review Bot.
      Tool: Pyflakes
      Processed Files:
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/settings.py (Diff revision 4)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  3. reviewboard/settings.py (Diff revision 4)
     
     
    Show all issues
     'PIPELINE_JS' imported but unused
    
  4. reviewboard/settings.py (Diff revision 4)
     
     
    Show all issues
     'PIPELINE_CSS' imported but unused
    
  5. 
      
david
  1. 
      
  2. reviewboard/scmtools/svn/__init__.py (Diff revision 4)
     
     
    Show all issues

    Can we log which backend we ended up using?

  3. 
      
chipx86
reviewbot
  1. This is a review from Review Bot.
      Tool: PEP8 Style Checker
      Processed Files:
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/scmtools/svn/__init__.py (Diff revision 5)
     
     
    Show all issues
    Col: 17
     E129 visually indented line with same indent as next logical line
    
  3. 
      
reviewbot
  1. This is a review from Review Bot.
      Tool: Pyflakes
      Processed Files:
        reviewboard/settings.py
        reviewboard/scmtools/svn/__init__.py
      Ignored Files:
    
    
  2. reviewboard/settings.py (Diff revision 5)
     
     
    Show all issues
     'from settings_local import *' used; unable to detect undefined names
    
  3. reviewboard/settings.py (Diff revision 5)
     
     
    Show all issues
     'PIPELINE_CSS' imported but unused
    
  4. reviewboard/settings.py (Diff revision 5)
     
     
    Show all issues
     'PIPELINE_JS' imported but unused
    
  5. 
      
david
  1. Ship It!

  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-2.0.x (256b2b6)