Frequently Asked Questions¶
General Usage¶
Is Review Board free for commercial use?¶
Yes, Review Board is absolutely free for commercial use.
What license is Review Board under?¶
Review Board is under the MIT license, which basically means you are free to do as you want. You must however keep the software under the MIT license.
This permits companies to create custom modifications of Review Board for their setups without contributing back. However, we strongly encourage people to contribute back to the project, as it benefits everybody and will ease upgrades by helping to keep your codebase from straying too far from ours.
Does Review Board support post-commit review?¶
Yes, Review Board can handle post-commit review, though currently you need to post-review for this. See Posting Committed Code for more information.
Review Board was initially designed for pre-commit review and large changes need to be made before post-commit reviews can be handled in the web UI. We plan to get to this after Review Board 1.0.
What are pre-commit and post-commit reviews?¶
Pre-commit reviews are where code is reviewed before it’s checked into a public repository and mainline, non-developer branch. Code isn’t committed until reviewers sign off on it, leaving the tree stable and easing changes.
Post-commit reviews are where code is first committed to a public repository and then reviewed. This makes the code available to others to develop against until the code is reviewed, but large-scale changes to the architecture of the code can then be hard to make without disrupting others. Post-commit reviews sometimes happen by individuals or by a large group sitting together and reading over the code together.
Does Review Board support git?¶
Review Board provides basic support for git. If you have a central “official” git repository, Review Board will work well for you.
A basic pre-commit workflow with git would look like this:
- Clone the central repository.
- Make a change you want reviewed, but do not commit it yet.
- Run post-review (or otherwise submit a diff).
- Get reviews, update your change as needed.
- When the change is marked to ship, commit it to master and push it to the origin.
A workflow that takes advantage of local branches would look like this:
- Clone the central repository.
- Create a local branch and make a change you want reviewed.
- Run post-review (or otherwise submit a diff), comparing the branch to master.
- Get reviews, make additional changes on the branch as needed.
- When the change is marked to ship, merge it into master and push it to the origin.
Be sure to review the instructions on Managing Repositories for more information on getting started with Review Board and git.
Troubleshooting¶
I’m getting a 404 for every page¶
This points to a configuration error in your web server configuration.
If you’re using lighttpd as your web server, add the following to settings_local.py file:
FORCE_SCRIPT_NAME = "/"
If this is a subdirectory install on lighttpd, set this variable to the subdirectory name (making sure to keep leading and trailing slashes).
When I go to my site, I just see a directory listing¶
This may be due to your Apache installation using your /var/www directory as a global document root for your virtual hosts by default. Look for a file called default or 000-default (or similar) in /etc/apache2/sites-enabled and delete it. Then restart Apache. You should be able to see your site now.
I’m getting the error: OperationalError at /dashboard/ near "DISTINCT": syntax error¶
Your version of sqlite is too old. Make sure you’re running sqlite 3.2.1 or higher.
I get a page telling me to run syncdb, but I’ve done that already¶
Generally this page is there to let you know when we’ve updated the database schema so you can make the appropriate changes. Be sure to run rb-site upgrade /path/to/site. See Upgrading Sites for more information on this.
If you’ve done that already and you’re still getting the error, and you’re using sqlite for your database, you may need to set DATABASE_NAME in your site’s conf/settings_local.py file to the absolute path of the database instead of the relative path. See this thread for more information.
I installed a site using SQLite and every page generates an error¶
This may mean the database isn’t able to be written. If you see OperationalError: attempt to write to a readonly database in your Apache’s error_log, then this is certainly the case.
Make sure you’ve set the permissions of the site’s db directory to match the user for the web server.
I’m having trouble installing post-review on Windows Vista¶
Note
These instructions were tested with simplejson 1.9.2. They may not be needed in more recent versions, but you should give them a try if you have problems.
You may need to modify a copy of simplejson (a Python module needed by post-review).
- Download the latest release of simplejson.
- Extract the file to a local directory (using 7Zip, WinRAR or another program).
- Edit the file simplejson-x.y.z/simplejson.egg-info/SOURCES.txt (where x.y.z is the version number of simplejson) and remove the line containing native_libs.txt.
- Run: easy_install simplejson-x.y.z
If you don’t have easy_install, run the Python Setuptools Installer. Then repeat step 4 above.
Thanks to Daniel Wexler for this information.
I get the error “Unable to parse the server response” when uploading screenshots¶
The permissions on your htdocs/media/uploaded directory and subdirectories are wrong. You need to make sure the contents are writable by the web server.
The Edit Review page is really slow on Firefox¶
The “It’s All Text” extension has been known to have problems with Review Board. If you’re encountering problems related to text areas or slowdown in the Edit Review page, try disabling this extension and seeing if it makes a difference.
Developing Review Board¶
What is Review Board written in?¶
Review Board is written in Python, using the Django web framework.
Where do I submit patches for Review Board?¶
Patches to Review Board or Djblets should be submitted to our own Review Board instance, http://reviews.review-board.org. If you submit patches to the mailing list or bug tracker, we’ll ask you to move them here for review.