RBTools 0.7 is here!

RBTools 0.7 is packed with new tools and improvements for your workflow, making it faster to install, post changes to RBCommons, and land your changes.

There’s a lot here, so we’ll go into the major new additions.

Easy installation for Windows and MacOS X

We’ve improved the installation experience. If you’re on Windows or MacOS X, you can simply download the RBTools installer for your platform. In seconds, you’ll be ready to use the latest RBTools.

Land reviewed changes with one command

The all-new rbt land is the fastest way to take a change (in a local branch or a review request), validate that it’s been reviewed, and land it in your repository. It will format the commit message to include the review request’s description and testing information, and can even handle pushing the change upstream and deleting the local branch in one go.

(This is currently only available for Git repositories. Support for other repositories will come soon.)

Exclude files from review

Sometimes you’ll have modified files that you just don’t want up for review. Auto-generated code, for instance. You can now exclude these when posting changes for review by using the new -X option to rbt post, or by setting EXCLUDE_PATTERNS in .reviewboardrc.

Make your own commands with aliases

Ever find yourself repeating a group of options? rbt post -g yes -u HEAD, for instance? In 0.7, you can create an alias — a new RBTools command, basically — for those options.

You can even go a step further and make an alias that runs non-RBTools commands. Want to always run unit tests before posting code? Make an alias. How about merging the latest upstream changes into your branch before posting? There’s another alias!

See the documentation on aliases for more information.

Faster communication with RBCommons

We’ve sped up RBTools by caching results from RBCommons. This means lots of operations, such as posting changes, is faster than ever.

If you’re using the RBTools Python API to write your own integrations, you’ll benefit from this with no additional work on your end.

And lots more!

We haven’t even talked about rbt stamp, support for API tokens, or all the bug fixes and other feature improvements.

Check out the release notes for the whole list of changes.

Read More

RBTools 0.6.3 is released!

Today’s release of RBTools 0.6.3 fixes a handful of annoying little bugs across Git, Mercurial, Subversion, Perforce, and ClearCase. If you use any one of these (and there’s a good chance you do), it’s time to upgrade!

In past releases, failed post operations could leave behind incomplete review requests, which wasn’t always obvious. RBTools will now print out the review request after a failure, making it easier to fix things up without creating a new review request.

We’ve also fixed a bug in the Python API for Review Board that resulted in errors when performing HTTP DELETE operations.

See the release notes for the complete list of fixes.

While this is a fairly small and bug-oriented release, we’re happy to announce that RBTools 0.7 is coming soon, with several new features and native installers for Windows and MacOS X!

Read More

RBTools 0.6.2 is released

This evening’s release of RBTools 0.6.2 fixes several bugs throughout rbt post and rbt patch.

Mercurial users will find that rbt patch now behaves as expected especially for Git diffs. No need to manually fetch and patch by hand anymore.

We’ve fixed some breakages that users hit with error messages coming from Review Board under certain conditions, and some compatibility issues with Perforce, ClearCase, and Git.

You can upgrade to RBTools 0.6.1 by typing:

    $ sudo easy_install -U RBTools

(If you’re on Windows, you shouldn’t need to type “sudo.”)

See the release notes for the full list of changes.

Read More

RBTools 0.6.1 is released

We have just released RBTools 0.6.1. This release improves upon April’s release of RBTools 0.6, fixing numerous bugs that have been reported to us over the past two months.

These fixes cover compatibility issues with different types of repositories, misleading or useless error messages, crashes in certain edge cases, and issues running on different operating systems.

You can upgrade to RBTools 0.6.1 by typing:

    $ sudo easy_install -U RBTools

(If you’re on Windows, you shouldn’t need to type “sudo.”)

If you’re running an older version, now’s a great time to upgrade! We outlined the major improvements in our RBTools 0.6 announcement.

See the release notes for the full list of changes in 0.6.1.

Read More

RBTools 0.6 is released

RBTools 0.6 has just been released, and it’s a big one. We spent a lot of time simplifying the process for posting and updating review requests, and we think it’s going to make life a lot easier for just about everyone.

Posting using Git or Mercurial used to require dealing with --parent and --revision-range, along with our custom revision syntax. Now all you have to do is pass native revisions or revision ranges to rbt post, like so:

$ rbt post HEAD
$ rbt post main-branch..feature-branch
$ rbt post 123:126

Compare this to the old way of doing things:

$ rbt post --parent=HEAD^
$ rbt post --revision-range=main-branch:feature-branch
$ rbt post --revision-range=123:126

We’ve also improved how “guessing” descriptions and summaries from commits work. In previous versions, you needed to run rbt post -g to enable guessing, but in 0.6, it’s now automatic for new review requests. This means less typing and less work to do.

That behavior can also be changed through new GUESS_FIELDS settings in .reviewboardrc. This is covered more in the documentation.

A few other goodies:

  • Feature and performance improvements for Mercurial
  • Git repository hook scripts for auto-closing review requests and requiring approval for pushes
  • Many new configuration options

And more.

A couple important notes. We’ve removed support for the old post-review tool. Running post-review will now tell you to use rbt post instead.

We’ve also removed support for Python 2.4. You will now need 2.5 or higher. We strongly recommend that everybody upgrades to Python 2.7.

See the release notes for the complete list of changes.

Read More

RBTools 0.5.5 is released

We just put out a release of RBTools 0.5.5. This fixes a handful of problems reported to us for rbt patch, Subversion, and Git.

rbt patch, one of our new tools introduced in 0.5.3, has had several bug fixes for applying commits to Git, and for properly handling Unicode characters in commit messages.

We fixed an issue with looking up repositories using Subversion. Some of you using the suggested RBTools configuration for your Subversion repositories have reported problems, which we’ve addressed in this release. Please let us know if you still encounter any issues.

When using rbt post with --revision-range revision1:revision2, RBTools 0.5.3 would fail to parse the revisions. While it allowed '..'-separated revisions, support for ':' was prematurely removed. We’ve restored this compatibility for now, but there are big changes coming in RBTools 0.6.

To upgrade your copy of RBTools, run:

    sudo easy_install -U RBTools

See the release notes for more information.

Read More

RBTools 0.5.3 is released

We have a great RBTools release for you today, with some new features and a whole lot of bug fixes.

rbt post has a new -u option that attempts to update an existing review request, instead of posting a new one. Previously, you would have to pass -r <review_request_id>. Now, when using -u, RBTools will look up possible matches and present them. We think this will be a major time-saver.

A new rbt setup-repo command makes setting up your repository much easier. Instead of writing a new .reviewboardrc file by hand, just run rbt setup-repo. It will prompt for your RBCommons team’s URL (for example, https://rbcommons.com/s/my-team/, try to locate the right repository entry, and then write the configuration file for you.

rbt patch has two new options for working with patches. --print will print the patch to the terminal instead of applying it. --commit (Git only for now) will commit the patch with the author’s name and review request’s description.

rbt diff doesn’t crash anymore! Huzzah!

Along with this, we have fixes and improvements for using third-party commands, Git, Bazaar, Mercurial, and Subversion.

See the release notes for the full list of changes.

Read More