Today’s release of RBTools 1.0.3 is a big one, featuring enhancements for Mercurial support, a vastly improved commit editing experience when landing changes, and several compatibility fixes for Python 3 and various types of repositories.
Landing Commits on Mercurial
rbt land now supports landing commits on Mercurial repositories.
You can land a local change from a Mercurial branch or bookmark, or a remote change from a review request. This will first verify that the change has been approved on Review Board before allowing it to land. Once approved, a new merge commit containing the information and URL of the review request will be placed on your destination branch.
This can also close the branch/bookmark being merged in on your behalf. See the documentation for details.
Improved Commit Editing
Patching a commit with rbt patch -c, or landing a commit with rbt land -e has always let you edit the message for the commit, but the experience was sub-par.
Now RBTools will mimic Git or Mercurial’s standard editing environment, helping your editor show the syntax highlighting or line length limits it would normally show.
Deleting all text in the editor and saving will cancel the patch/land operation.
You can also set a custom editor when working with RBTools by setting the new $RBTOOLS_EDITOR environment variable.
Compatibility Fixes
We’ve fixed a number of Python 3 compatibility issues. These largely centered around:
Changes in Python 3.8
Windows environment differences
Editing or processing commits containing non-ASCII characters
Normalizing URLs and paths for Subversion
Loading in Perforce metadata
Passing --help as the last argument
There’s also a fix for looking up available Git remotes for a branch when a tracking branch isn’t set. Thanks to Joshua Olson for this fix!
This is our first ChangeLog in several weeks. As you all know, the current pandemic has resulted in a lot of changes and hardships in the world. We’re doing fine here, and our team has stayed healthy and safe, if a little less productive than we’d like as we adjust and take care of our families.
Still, work never ceases, and it’s time to start keeping you all up-to-date again. Here’s a breakdown of what we’ll be covering today.
More companies than ever are in full-on work-from-home mode, and this brings with it a lot of new work challenges that are, right now, often mixed with personal-life stresses.
We can help with at least some of that.
Our company offers support contracts for Review Board, which can be tailored to meet your company’s needs. We help with anything from basic Q&A and troubleshooting to custom builds and assistance with developing in-house integrations.
If you’re managing Review Board at your company, and are feeling a bit overwhelmed right now, please reach out. We can help. And we take support seriously.
Basic Support
Basic Support is pretty well-suited for smaller companies that need general troubleshooting, installation/upgrade assistance, or may have other questions.
We guarantee a response by the following day, but always aim for same-day (just depends on the support load).
Unlike our community support forum, all your support requests are handled privately on a dedicated support tracker, where you can manage tickets, provide confidential attachments, and more.
We don’t farm out our support to some outside party. We, the developers of Review Board, will handle your support. You’ll probably hear from me personally quite a bit.
Premium Support
This is a better option for the larger companies.
Or if you’re working on any in-house integrations or need priority bug fixes or need to use an older version of Review Board but may need some custom builds with fixes on occasion.
Or have some terrible emergency that needs to be resolved quick.
With Premium, there’s a same-day guarantee, 24/7/365. We’ll usually respond within an hour, especially if it’s an emergency. I will personally wake up and take care of your issue at 4AM if you need something.
So again, if things are crazy right now and you need a hand, contact us and we’ll talk options with you.
Increases to Trial Lengths
Since things are slower-moving right now (again, with the work-from-home status of so many companies), we want to make sure that you’re not in as much of a rush to evaluate either RBCommons and Power Pack.
So we’re going to be increasing the trial lengths of both from 30 days to 60.
This isn’t done yet, as we’re still preparing the codebases to change this over. In the meantime, if you’re a trial user of either, we’ll try to make sure to be proactive and increase your trial period manually.
A much better commit editing experience (for rbt land and rbt patch)
Several bug fixes for various source code management systems and for Python 3 environments
We should have this release out next week.
KGB 5.0
KGB is our Python module for using function spies in unit tests. This lets you track when a function is called, with what arguments and results, and to even override what happens when that function is called.
It’s extremely powerful, and is a big part of how we maintain our large test suites.
We’re preparing a 5.0 release, which adds:
Python 3.8 support, with positional-only arguments
Workarounds for very corner-casey situations with method decorator that generate a new function every time it’s accessed (what we’re calling “slippery functions,” because they’re hard to hold on to)
Probably some new helpers for asserting the results of calls (TBD)
This should be released in the coming weeks. If you’re a Python user, I highly suggest giving KGB a try.
Review Board 4.0 Progress
Almost there.
We were going to get 4.0 in beta form by end of March. That was the goal. We hinted at this last time, and we were feeling good about it, but the impact from the pandemic changed some priorities.
So it’s delayed… I’m not going to give a new date at this point, but nearly everything is ready for beta. We just want to hammer on it some more first, make sure we’re pushing out a solid beta. Pretty much everything, including our extension ecosystem, is ready to go.
Student Demos
As you may know by now, we work with CS students every semester, mentoring them and helping them learn to contribute to real-world code bases through Review Board development.
They recently completed their second demo videos for the semester, showing off what they’ve built. Please take a look. I’m sure they’d love to hear some positive feedback on their videos:
Stay Safe, and Wash Your Hands
(Definitely the catch phrase of 2020, but it’s important!)