What version are you running?
5.2.1
What steps will reproduce the problem?
rbt post --stamp HEAD
- Post works but outputs: "Cannot stamp review request URL when posting with history."
What is the expected output? What do you see instead?
I expect my commits to be stamped so the GitHub hooks work.
What operating system are you using?
macOS
Attach the debug out from the command.
$ rbt post --debug --branch=(git branch --show-current) -g yes --stamp --parent=master 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/subscriptions/dap_api -g yes --stamp --parent=master 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 826b237eb30d99a7448b845bffe2d88d225dd4c7 --not --remotes=upstream >>> 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 826b237eb30d99a7448b845bffe2d88d225dd4c7..720acc96d4ed63f5ab639c1e2cdda1bed35ea913 >>> 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 826b237eb30d99a7448b845bffe2d88d225dd4c7..720acc96d4ed63f5ab639c1e2cdda1bed35ea913 >>> Running: git -c core.quotepath=false -c diff.noprefix=false diff --no-color --full-index --ignore-submodules --find-renames --no-ext-diff 826b237eb30d99a7448b845bffe2d88d225dd4c7..ffcbcc29bbc648c21e102886bf4575c110f816ee >>> Running: git -c core.quotepath=false -c diff.noprefix=false diff --no-color --full-index --ignore-submodules --find-renames --no-ext-diff ffcbcc29bbc648c21e102886bf4575c110f816ee..720acc96d4ed63f5ab639c1e2cdda1bed35ea913 >>> 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/2]>>> Making HTTP POST request to https://rbcommons.com/s/framna/api/validation/commits/ Validating commits... ██████████████████████████ [1/2]>>> Making HTTP POST request to https://rbcommons.com/s/framna/api/validation/commits/ Validating commits... ████████████████████████████████████████████████████ [2/2] >>> Running: git rev-parse --abbrev-ref HEAD >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/?max-results=0&only-links=create >>> Cached response for HTTP GET https://rbcommons.com/s/framna/api/review-requests/?max-results=0&only-links=create expired and was modified >>> Making HTTP POST request to https://rbcommons.com/s/framna/api/review-requests/ >>> Making HTTP POST request to https://rbcommons.com/s/framna/api/review-requests/790/draft/ >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/?only-fields=&only-links= >>> Added cache entry for HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/?only-fields=&only-links= >>> Making HTTP POST request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/?only-fields=&only-links=self%2Cdraft_commits >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/1/draft-commits/ >>> Added cache entry for HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/1/draft-commits/ Uploading commits... [0/2]>>> Making HTTP POST request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/1/draft-commits/ Uploading commits... ██████████████████████████ [1/2]>>> Making HTTP POST request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/1/draft-commits/ Uploading commits... ████████████████████████████████████████████████████ [2/2] >>> Making HTTP PUT request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/1/ >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/1/files/?binary=1&commit-id=ffcbcc29bbc648c21e102886bf4575c110f816ee >>> Added cache entry for HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/1/files/?binary=1&commit-id=ffcbcc29bbc648c21e102886bf4575c110f816ee >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/1/files/?binary=1&commit-id=720acc96d4ed63f5ab639c1e2cdda1bed35ea913 >>> Added cache entry for HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/diffs/1/files/?binary=1&commit-id=720acc96d4ed63f5ab639c1e2cdda1bed35ea913 >>> Making HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/?only-fields=commit_id >>> Added cache entry for HTTP GET request to https://rbcommons.com/s/framna/api/review-requests/790/draft/?only-fields=commit_id Cannot stamp review request URL when posting with history. >>> Running: git log --reverse --pretty=format:%s%n%n%b ^826b237eb30d99a7448b845bffe2d88d225dd4c7 720acc96d4ed63f5ab639c1e2cdda1bed35ea913 >>> Making HTTP PUT request to https://rbcommons.com/s/framna/api/review-requests/790/draft/ Review request #790 posted. https://rbcommons.com/s/framna/r/790/ https://rbcommons.com/s/framna/r/790/diff/Please provide any additional information below.
I'm fine not stamping my commits if they have history, but having reviews that don't close because of it is really annoying.
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.
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!
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/