RBTools 5.1 brings a new set of patching improvements and fixes, along with a few new settings you can use to better manage your repositories.
Much-Improved Patching
We've completely rebuilt how RBTools applies patches files and lands changes. The new approach avoids edge cases for repositories like Mercurial, Perforce, and Subversion, and brings wider compatibility across GNU Patch, BSD Patch, and Apple Patch.
Mercurial users will finally be able to land or patch multiple commits in one go, removing the incompatibility between RBTools and Mercurial's own patching tool.
There's also better error handling, with breakdowns on what files failed to patch or simply conflicted with other changes, helping you hand-merge the changes.
If you're building in-house tools that need to land changes, you can now apply patches or customize behavior using the new Patcher implementation.
Centralized Settings Management
TREES
In RBTools 3, we deprecated the largely-hidden TREES
setting in .reviewboardrc
, which let you map repository paths to Review Board server URLs. We then removed it entirely in RBTools 4.
Bringing this back has been a frequent request. Now, not only can you use TREES again, but you can use it to customize any setting in RBTools, using your own .reviewboardrc
!
Here's an example:
TREES = {
'https://svn.example.com/': {
'REVIEWBOARD_URL': 'https://reviews.example.com',
},
'/home/user/dev': {
'MARKDOWN': False,
'TRACKING_BRANCH': 'origin/rewrite',
}
}
Organizations can also use this in combination with a $RBTOOLS_CONFIG_PATH
(Linux/macOS) or %RBTOOLS_CONFIG_PATH%
(Windows) environment variable to specify central directories containing shared .reviewboardrc
files, to centrally manage RBTools for all developers.
COOKIES_STRICT_DOMAIN_MATCH
If you’re using multiple Review Board servers on the same domain, it can be possible for session cookies (needed for authentication) to conflict with each other. For example, cookies sent from rb.example.com
would be used on staging.rb.example.com
, and this may not be what you want.
You can now enable strict-domain cookies by enabling COOKIES_STRICT_DOMAIN_MATCH
in .reviewboardrc
(including in TREES
).
For example:
COOKIES_STRICT_DOMAIN_MATCH = True
For compatibility reasons, this is off by default.
Plus...
- Improved compatibility and stability for uploading binary files in commits.
- New metadata options in rbt status-update set.
- Compatibility fixes for older versions of Review Board.
See the release notes for the full list of changes.
To learn more about RBTools, see the RBTools downloads page and RBTools 5.1 documentation.
18% off for Review Board's 18th Birthday!
As a reminder, we're offering 18% off all new Power Pack licenses and support contracts for Review Board's 18th birthday.
This sale lasts until the end of 2024, and will help us ensure the future of Review Board for years to come.