rbt
Manage Review Board code reviews
TLDR
Post changes to Review Board
Display the diff that will be sent to Review Board
Land a change in a local branch or on a review request
Patch your tree with a change on a review request
Set up RBTool to talk to a repository
SYNOPSIS
rbt command [options] [arguments]
PARAMETERS
--help
Displays general help information or help for a specific command.
--version
Shows the rbt tool version and exits.
--server
Specifies the URL of the Review Board server to connect to. This overrides any configured server URL.
--username
Provides the username for authentication to the Review Board server. Can be used with --password.
--password
Provides the password for authentication. Not recommended for interactive use due to security concerns; consider using a password file or environment variable.
post --revision-range
Used with the 'post' command to specify the range of revisions to include in the diff (e.g., 'tip:parent' or 'commit1:commit2').
post --summary
Sets a concise, one-line summary for the review request being posted or updated.
post --description
Provides a detailed description for the review request, explaining the changes and their purpose.
post --target-people
A comma-separated list of usernames to designate as reviewers for the request.
post --target-groups
A comma-separated list of group names whose members should be reviewers for the request.
post --publish
Automatically publishes the review request immediately after it's created or updated, making it visible to reviewers.
post --private
Marks the review request as private, so it's only visible to specified target people/groups and administrators.
post --diff-only
Generates the diff output to standard output or a file, but does not post it to the Review Board server.
DESCRIPTION
rbt is the command-line client for Review Board, a widely used web-based code review tool. It empowers developers to interact with a Review Board server directly from their terminal, streamlining the process of creating, updating, and managing code review requests. The tool integrates seamlessly with various version control systems such as Git, Mercurial, SVN, Perforce, and CVS, allowing users to generate diffs and submit them for peer review with ease. rbt simplifies the workflow by handling common tasks like posting new review requests, updating existing ones with new changes, displaying review request statuses, and applying patches. It is a crucial component of the Review Board ecosystem, designed to improve the efficiency and visibility of the code review process within development teams.
CAVEATS
rbt is not a standard Linux command-line utility bundled with operating systems. It is a third-party tool that must be installed separately (commonly via pip, the Python package installer). It requires a running Review Board server instance to connect to and perform operations. Its behavior is highly dependent on the configured version control system and the specific Review Board server version. Configuration often involves creating a .reviewboardrc file in the repository or user's home directory.
INSTALLATION
rbt is typically installed as a Python package using pip:
pip install rbtools
It is recommended to use a Python virtual environment to manage dependencies.
CONFIGURATION
Most configurations for rbt are stored in a .reviewboardrc file. This file can be placed in your home directory or the root of your version control repository. It specifies details like the Review Board server URL, repository name, and default reviewers. Example content:
REVIEWBOARD_URL = 'http://your-reviewboard-server/'
REPOSITORY = 'your-repo-name'
HISTORY
The rbt command-line client is an integral part of the Review Board project, which was initially released in 2007. Developed in Python, rbt was created to provide developers with programmatic access to the Review Board server's functionalities, complementing its web interface. Over the years, it has evolved significantly, adding support for new version control systems, improving authentication methods, and introducing new commands to cover a broader range of code review workflows. It remains an actively maintained open-source tool, serving as the primary command-line interface for the Review Board ecosystem.