The next major evolution of RBTools has been released!
RBTools 0.5 is a major undertaking that we're sure is going to make a lot of you happy. This release introduces several new scripts for working with review requests from the command line, and a brand new Python API for writing your own scripts and applications.
rbt
The new rbt tool serves as your launching point for any new tools that work with Review Board. It works like git, in that it takes a subcommand and options, which may do anything from post a new diff to query the statuses of your pending review requests. Here are the one we provide now:
- rbt attach - Attaches a file to an existing review request.
- rbt close - Closes a review request (either as submitted or discarded.
- rbt diff - Shows the diff that would be uploaded to a review request. This works like the old post-review --output-diff.
- rbt patch - Takes the diff from a review request and applies it locally to your tree. Useful for open source projects!
- rbt post - Posts or updates a review request. This is your new post-review script.
- rbt status - Displays all your pending review requests for the repository you're running this from.
We plan to add more in time, and to refine many of these. It's still largely considered a beta, but we'd love the feedback!
Now you may have noticed rbt post above. We're deprecating post-review, and plan to remove it sometime before RBTools 1.0. A lot of you probably are pretty used to typing post-review now, so now's a good time to start building new muscle memory!
Otherwise, post-review is pretty unchanged from 0.4.x, so you shouldn't run into any big regressions.
Python API
All of our new scripts make use of a central Python API that we have developed. This was written to make it easy to talk to a Review Board server. It supports our entire web API. We have a whole tutorial and reference guide on the new Python API.
Those of you maintaining your own forks of post-review or your own post-commit hooks or utility scripts should start moving over to the new API, give it a spin. Let us know how it works for you.
We still have a lot to do, but we hope this release is as exciting and useful to all of you as it has been to us.
We had a number of people contribute to this, but in particular I want to thank and congratulate Steven MacLeod on this release. Steven is a former UCOSP and Google Summer of Code student and the new lead developer for RBTools, and has done a fantastic job putting all this together.
Release notes are available, and cover all the new additions and the bug fixes that went into this release.