RBTools is a set of command line tools and a rich Python API for use with Review Board.
These tools make it easy to post changes for review, keep them up-to-date, land reviewed changes, and test other people's changes in your own tree, check your workload, and much more.
When using RBTools, you'll do most everything through the rbt command, which supports a number of sub-commands, like post, diff, land, and patch.
We provide native installers for Windows and MacOS, along with Python packages for Linux and other platforms. See the RBTools Downloads page for downloads and installation instructions.
See the RBTools documentation for more information.
The included Python API can be used to write scripts and applications that interface with Review Board, and can also be used to write new commands for RBTools.
There's very little that you can't do with the Python API. To learn more, see the RBTools Python API documentation and the Review Board API documentation.
We can help you get going with Review Board and RBTools, and diagnose any issues that may come up. There are two levels of support: Public community support, and private premium support.
The public community support is available on our main discussion list. We generally respond to requests within a couple of days. This support works well for general, non-urgent questions that don't need to expose confidential information.
We can also provide more dedicated, private support for your organization through a support contract. We offer same-day responses (generally within a few hours, if not sooner), confidential communications, installation/upgrade assistance, emergency database repair, phone/chat (by appointment), priority fixes for urgent bugs, and backports of urgent fixes to older releases (when possible).
There are thousands of companies and organizations using Review Board and RBTools today. We respect the privacy of our users, but some of them have asked to feature them on the Happy Users page.
If you're using Review Board, and you're a happy user, let us know!
Hit a bug? Let us know by filing a bug report.
You can also look through the existing bug reports to see if anyone else has already filed the bug.
Are you a developer? Do you want to integrate with RBTools, or work on RBTools itself? Great! Let's help you get started.
First off, read through our contributor guide.
We accept patches to Review Board, RBTools, and other related projects on reviews.reviewboard.org. (Please note that we do not accept pull requests.)
Got any questions about anything related to RBTools and development? Head on over to our development discussion list.
If you're writing patches for RBTools, you'll need to know how to run our test suite.
First, make sure you have the necessary dependencies.
To run all the tests, you will need to install hgsubversion:
$ easy_install hgsubversion
This may need apr-config, also known as apr-1-config, to run. This is part of the apache distribution. On ubuntu, you can get it via:
$ sudo apt-get install libapr1-dev # also try apache2-dev or httpd-dev
hgsubversion also requires that you set up an :file:.hgrc
in your home
directory with the following contents:
[extensions]
hgsvn = /path/to/hgsubversion
This will be something like
/usr/local/lib/python2.7/dist-packages/hgsubversion
. If you already have an
[extensions]
section in your .hgrc
, just add the hgsvn line to it.
You will also need nose:
$ easy_install nose
Running the test suite is easy. Simply run:
$ nosetests -v
from the top of the rbtools
directory. You can also run a particular
set of tests. For instance:
$ nosetests -v rbtools.api.tests
See 'nosetests --help'
for more options.
- Review Board - Our powerful, open source code review tool.
- Djblets - Our pack of Django utilities for datagrids, API, extensions, and more. Used by Review Board.
- ReviewBot - Pluggable, automated code review for Review Board.
- rb-gateway - Manages Git repositories, providing a full API enabling all of Review Board's feaures.