RBTools is a set of command line tools for working with Review Board and RBCommons. It’s there to help quickly get your code up for review, check on the status of changes, and eventually land your code in the codebase, amongst other uses.
RBTools interfaces with your repository’s official command line tools, making it easy to generate suitable diffs or to apply changes across any supported type of repository without having to learn different sets of tools.
Along with a variety of helpful commands, RBTools also provides a powerful Python client API for Review Board, giving you the flexibility to develop your own integrations.
Let’s explore RBTools:
What’s in RBTools?¶
The “rbt” Command¶
All the RBTools commands are invoked through the rbt tool. This runs on Windows, Linux, and MacOS X, and contains a number of useful sub-commands through the following usage:
$ rbt <command> [options] [<args>]
You can get help on rbt or a sub-command in the following ways:
$ rbt help
$ rbt help <command>
$ rbt <command> --help
Some of the most commonly-used commands include:
post - Posts changes to Review Board
diff - Displays the diff that will be sent to Review Board
land - Lands a change in a local branch or on a review request
patch - Patches your tree with a change on a review request
setup-repo - Sets up RBTools to talk to your repository
status - Display the status of your outgoing review requests
There’s a whole suite of additional commands that might also be useful:
alias - Create custom aliases for commands and operations
api-get - Retrieve structured information from the API
attach - Upload and attach files to a review request
clear-cache - Clear your local RBTools caches
close - Close a review request
install - Install special components for third-party integrations
list-repo-types - List all repository types supported by RBTools
login - Create a Review Board login session for RBTools
logout - Log RBTools out of Review Board
publish - Publish a review request
review - Create and publish reviews
setup-completion - Set up shell integration/auto-completion
stamp - Stamp a local commit with a review request URL
status-update - Register or update a “status update” on a review request, for automatic code review
The RBTools Python API¶
RBTools isn’t just a set of commands. It’s also a platform for writing your own code, including:
Custom rbt commands
Automation scripts for Review Board
New automated code review integrations
Repository hooks and triggers
We’ll walk you through getting RBTools ready to use with Review Board.
Steps are provided all major operating systems and Linux distributions.
RBTools configuration lives in a
.reviewboardrcfile, which is usually stored in your source code repository, so everyone can share the same configuration.
This is the first step to allow any of your developers to easily post changes using RBTools.
Optionally, customize your RBTools experience:
These can also live in a separate
.reviewboardrcin your home directory, letting you make your RBTools experience your own.
Common RBTools Workflows¶
Every source code management system is different. We have guides on the most common workflows to help you get started: