Here's the latest...
- No new tickets were filed this week. That's a relief.
- No tickets were closed this week. Better get on that.
Some recent discussions you might care about...
Hi Dave. We fixed this last week (regression with the way the Python packaging tools generated some files) and just got it out today as part of the RBTools 5.3 release:
https://www.reviewboard.org/news/2025/07/14/rbtools-53-azure-devops-and-windows-fixes/
The announcement contains a link to the new installer.
Thanks for the report!
Output with a single commit:
$ rbt post --branch=(git branch --show-current) -g yes --stamp --parent=master -u master..HEAD --debug /opt/homebrew/Cellar/rbtools/5.2.1/libexec/lib/python3.13/site-packages/rbtools/utils/appdirs.py:123: SyntaxWarning: invalid escape sequence '\D' Win XP: C:\Documents and Settings\All Users\Application Data\<AppAuthor>\<AppName> /opt/homebrew/Cellar/rbtools/5.2.1/libexec/lib/python3.13/site-packages/rbtools/utils/appdirs.py:230: SyntaxWarning: invalid escape sequence '\P' Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) CRITICAL: Unexpected result while parsing revision spec ~/D/b/v/p/skyfall (feat/notifications/update_flight|↑1↓1|✚1) [1]$ rbt post --debug --branch=(git branch --show-current) -g yes --stamp --parent=master -u master..HEAD /opt/homebrew/Cellar/rbtools/5.2.1/libexec/lib/python3.13/site-packages/rbtools/utils/appdirs.py:123: SyntaxWarning: invalid escape sequence '\D' Win XP: C:\Documents and Settings\All Users\Application Data\<AppAuthor>\<AppName> /opt/homebrew/Cellar/rbtools/5.2.1/libexec/lib/python3.13/site-packages/rbtools/utils/appdirs.py:230: SyntaxWarning: invalid escape sequence '\P' Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) >>> RBTools 5.2.1 >>> Python 3.13.5 (main, Jun 11 2025, 15:36:57) [Clang 17.0.0 (clang-1700.0.13.3)] >>> Running on macOS-15.6-arm64-arm-64bit-Mach-O >>> Home = /Users/sean.molenaar >>> Current directory = /Users/sean.molenaar/Developer/backend/vagrant-box/projects/skyfall >>> Command line: rbt post --debug --branch=feat/notifications/update_flight -g yes --stamp --parent=master -u master..HEAD >>> [scan] Checking for available SCMs for /Users/sean.molenaar/Developer/backend/vagrant-box/projects/skyfall... >>> [scan] Considering all repository types >>> [scan] Skipping Bazaar: Command line tools (one of ('brz', 'bzr')) are missing. >>> [scan] Skipping VersionVault / ClearCase: Command line tools ('cleartool') are missing. >>> [scan] Skipping CVS: Command line tools ('cvs') are missing. >>> [scan] Checking for a Git repository... >>> Running: git rev-parse --git-dir >>> Running: git config --get core.bare >>> Running: git rev-parse --show-toplevel >>> [scan] Skipping Mercurial: Command line tools ('hg') are missing. >>> [scan] Skipping Perforce: Command line tools ('p4') are missing. >>> [scan] Skipping Plastic: Command line tools ('cm') are missing. >>> [scan] Skipping Cliosoft SOS: Command line tools ('soscmd') are missing. >>> [scan] Skipping Subversion: Command line tools ('svn') are missing. >>> Running: tf vc help >>> Command not found (tf vc help) >>> [scan] Skipping Team Foundation Server: Command line tools (one of ('VS2017+ tf', 'Team Explorer Everywhere tf.cmd', 'Our wrapper (rbt install tfs)')) are missing. >>> [scan] SCM scan complete. Found git (/Users/sean.molenaar/Developer/backend/vagrant-box/projects/skyfall) >>> [scan] Verifying repository information... >>> Running: git rev-parse --git-dir >>> Running: git config --get core.bare >>> Running: git rev-parse --show-toplevel >>> Running: git symbolic-ref -q HEAD >>> Running: git show-ref --verify refs/remotes/p4/master >>> Command errored with rc=128: git show-ref --verify refs/remotes/p4/master >>> Command stdout=b'' >>> Command stderr=b"fatal: 'refs/remotes/p4/master' - not a valid ref\n" >>> Running: git config --get remote.master.url >>> Command errored with rc=1: git config --get remote.master.url >>> Command stdout=b'' >>> Command stderr=b'' >>> [scan] Successfully found repository information: <RepositoryInfo(path='/Users/sean.molenaar/Developer/backend/vagrant-box/projects/skyfall/.git', base_path='', local_path='/Users/sean.molenaar/Developer/backend/vagrant-box/projects/skyfall')> >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/ >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/ expired and was not modified >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/repositories/?name=Skyfall&only-fields=id%2Cname%2Cmirror_path%2Cpath&only-links=info%2Cdiff_file_attachments&tool=git%2Cperforce%2Csubversion%2Ctfs_git >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/repositories/?name=Skyfall&only-fields=id%2Cname%2Cmirror_path%2Cpath&only-links=info%2Cdiff_file_attachments&tool=git%2Cperforce%2Csubversion%2Ctfs_git expired and was not modified >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/repositories/3113/info/ >>> Got API Error 209 (HTTP code 501): The specified repository is not able to perform this action. >>> Error data: {'err': {'code': 209, 'msg': 'The specified repository is not able to perform this action.', 'type': 'repository-request-not-supported'}, 'stat': 'fail'} >>> Running: git rev-parse master..HEAD >>> Running: git branch --remotes >>> Running: git config --get branch.master.remote >>> Running: git rev-list 7daba04eba45570dc8387af89e834e44b195313c --not --remotes=upstream >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/session/?expand=user >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/session/?expand=user expired and was not modified >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/?expand=draft&from-user=sean.molenaar&only-fields=absolute_url%2Cbugs_closed%2Ccommit_id%2Cdescription%2Cdraft%2Cextra_data%2Cid%2Cpublic%2Cstatus%2Csummary%2Curl%2Ccreated_with_history&only-links=diffs%2Cdraft&repository=3113&show-all-unpublished=1&status=pending >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/review-requests/?expand=draft&from-user=sean.molenaar&only-fields=absolute_url%2Cbugs_closed%2Ccommit_id%2Cdescription%2Cdraft%2Cextra_data%2Cid%2Cpublic%2Cstatus%2Csummary%2Curl%2Ccreated_with_history&only-links=diffs%2Cdraft&repository=3113&show-all-unpublished=1&status=pending expired and was modified >>> Running: git log --reverse --pretty=format:%s%n%n%b ^7daba04eba45570dc8387af89e834e44b195313c 6a9583caf4fd4bdcc9981478588dce87c3c65b5f >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/811/?only-fields=absolute_url%2Cbugs_closed%2Cid%2Cstatus%2Cpublic%2Ccreated_with_history&only-links=diffs%2Cdraft >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/review-requests/811/?only-fields=absolute_url%2Cbugs_closed%2Cid%2Cstatus%2Cpublic%2Ccreated_with_history&only-links=diffs%2Cdraft expired and was not modified >>> Running: git log -z --reverse --pretty=format:%H%x1f%P%x1f%an%x1f%ae%x1f%ad%x1f%cn%x1f%ce%x1f%cd%x1f%B --date=iso8601-strict 7daba04eba45570dc8387af89e834e44b195313c..6a9583caf4fd4bdcc9981478588dce87c3c65b5f >>> Running: git version >>> Running: git -c core.quotepath=false -c diff.noprefix=false diff --no-color --full-index --ignore-submodules --find-renames --no-ext-diff 7daba04eba45570dc8387af89e834e44b195313c..6a9583caf4fd4bdcc9981478588dce87c3c65b5f >>> Running: git -c core.quotepath=false -c diff.noprefix=false diff --no-color --full-index --ignore-submodules --find-renames --no-ext-diff 7daba04eba45570dc8387af89e834e44b195313c..6a9583caf4fd4bdcc9981478588dce87c3c65b5f >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/validation/commits/ >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/validation/commits/ expired and was not modified Validating commits... [0/1]>>> Making HTTP POST request to https://rbcommons.com/s/framna/api/validation/commits/ Validating commits... ████████████████████████████████████████████████████ [1/1] >>> Making HTTP POST request to https://rbcommons.com/s/framna/api/review-requests/811/draft/ >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/811/draft/diffs/?only-fields=&only-links= >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/review-requests/811/draft/diffs/?only-fields=&only-links= expired and was modified >>> Making HTTP POST request to https://rbcommons.com/s/framna/api/review-requests/811/draft/diffs/?only-fields=&only-links=self%2Cdraft_commits >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/811/draft/diffs/2/draft-commits/ >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/review-requests/811/draft/diffs/2/draft-commits/ expired and was not modified Uploading commits... [0/1]>>> Making HTTP POST request to https://rbcommons.com/s/framna/api/review-requests/811/draft/diffs/2/draft-commits/ Uploading commits... ████████████████████████████████████████████████████ [1/1] >>> Making HTTP PUT request to https://rbcommons.com/s/framna/api/review-requests/811/draft/diffs/2/ >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/811/draft/diffs/2/files/?binary=1&commit-id=6a9583caf4fd4bdcc9981478588dce87c3c65b5f >>> Added cache entry for HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/811/draft/diffs/2/files/?binary=1&commit-id=6a9583caf4fd4bdcc9981478588dce87c3c65b5f >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/811/draft/?only-fields=commit_id >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/review-requests/811/draft/?only-fields=commit_id expired and was not modified Cannot stamp review request URL when posting with history. >>> Running: git log --reverse --pretty=format:%s%n%n%b ^7daba04eba45570dc8387af89e834e44b195313c 6a9583caf4fd4bdcc9981478588dce87c3c65b5f >>> Running: git rev-parse --abbrev-ref HEAD >>> Making HTTP PUT request to https://rbcommons.com/s/framna/api/review-requests/811/draft/ Review request #811 posted. https://rbcommons.com/s/framna/r/811/ https://rbcommons.com/s/framna/r/811/diff/
So the fundamental problem here is that you're posting multiple commits for a single review request. If your branch has only one commit, using --stamp will work fine
This has not been my experience, let me get an output for that one.
If you want to apply the stamp to the commit at your current HEAD (so when you push, that's the one that will trigger the close), you can just run rbt stamp and it will amend the commit message.
When I did that, it also prepended a bunch of my historic commits to the HEAD commit.
The error output for "when posting with history" is bad and confusing, which we'll fix.
That's appreciated, thanks!
So the fundamental problem here is that you're posting multiple commits for a single review request. If your branch has only one commit, using
--stamp
will work fine, but when there are multiple commits, we don't know which (if any) should have the stamp with the review request URL. We also can't stamp anything other than the current HEAD commit, since we don't necessarily know which commits are safe to reword.If you want to apply the stamp to the commit at your current HEAD (so when you push, that's the one that will trigger the close), you can just run
rbt stamp
and it will amend the commit message.The error output for "when posting with history" is bad and confusing, which we'll fix.