Jump to >

Subversion Repositories

Review Board supports posting and reviewing code on Subversion repositories. It also supports browsing for commits in the New Review Request page. All standard Subversion repository configurations and access methods can be used.

To simplify posting changes to Review Board, we recommend using RBTools. This ensures that the diffs are in the correct format, working around many Subversion diff generation issues, and makes managing review requests much easier. See Using RBTools with Subversion for more information.

Note

This guide assumes that you’re adding a Subversion repository that’s hosted somewhere in your network or one that’s accessible by your Review Board server. Review Board requires local or network access to your repository.

Follow the documentation in the links below if your Subversion repository is hosted on one of these services, as configuration may differ.

Installing Subversion Support

Before you add the repository, you will need to install either PySVN or Subvertpy. These are Python modules that support communicating with Subversion repositories. If both are installed, PySVN will take precedence.

PySVN may be harder to install on some systems, but provides better compatibility than Subvertpy. We recommend using PySVN if possible.

See the installation guide for PySVN and Subvertpy.

Adding the Repository

To configure a Subversion repository, first proceed to add the repository and select Subversion from the Repository type field.

You will see a Path field, which should contain the URL for the Subversion repository. This can make use of https://, svn://, or svn+ssh:// repository paths.

Once added, the repository will be checked to make sure your path and credentials are correct. If using an HTTPS-backed repository, the SSL certificate will also be checked for validity, and you may be prompted to confirm the certificate details.

Warning

Make sure to use the root of your Subversion repository. This is important. While you can technically add a Subversion repository path that points to a subdirectory of the repository, you will most likely encounter complications when posting diffs.

Tip

If some users are accessing your repository using one protocol (such as https://) and others are accessing with another (such as svn+ssh://), you’ll want to specify the primary one Review Board should use to connect in the Path field and the other (which will just be used for repository matching purposes) in Mirror path.

Determining your Repository Path

To determine the repository path to use, run the following inside a checkout of your repository:

$ svn info

Look for the Repository Root field. The value listed is the path you should use for Review Board.

Using https:// or svn:// Repositories

If you’re using a Subversion repository with https:// or svn://, you’ll need to supply a username and password, either in the URL or in the Username and Password fields.

Examples

  • https://svn.example.com/myrepo/
  • https://username@svn.example.com/myrepo/
  • svn://svn.example.com/myrepo/
  • svn://username@svn.example.com/myrepo/

Using svn+ssh:// Reposoitories

If you’re using a Subversion repository with svn+ssh:// you will need to configure a SSH key in Review Board, and grant access on the repository. You will also need to specify a username, either in the repository path or in the Username field. The password field can usually be left blank.

Examples

  • svn+ssh://svn.example.com/myrepo/
  • svn+ssh://username@svn.example.com/myrepo/