(Reviewboard 1.7 RBTools 0.6) How to post-review a range of commits

Enviroment: Git repository, Reviewboard 1.7, RBTools 0.6

I have a bunch of already pushed commits and I want to post a review for a specific range of these commits, I have already done this operation with a previous version of reviewboard, using this syntax:

  • Visual Studio GIT sync with local/netowrk file folder as remote/origin
  • What does it mean to deploy a branch to localhost:port?
  • Find the most recently introduced file
  • GitHub: Failed to load latest commit information
  • git commit -a on Mac hangs when TextMate is quitted
  • Jenkins - Git - Failing to checkout from Git Repository
  • post-review -o --guess-summary --guess-description --tracking-branch=Dev --revision-range=$firstCommit:$lastCommit
    

    with the new version the “post-review” script is not supported anymore and the new syntax SHOULD be:

    rbt post -d -o -g --branch Dev $firstCommit..$lastCommit
    

    (I have tried this option too: $firstCommit:$lastCommit )
    this syntax works well with a single commit but with a range I have:

    ERROR: Error uploading diff
    The file was not found in the repository (HTTP 400, API Error 207)
    Your review request still exists, but the diff is not attached.
    

    My aim is have a review request with all the diff from the $firstCommit to the $lastCommit
    any suggestion?


    Update:

    This is the debug output for the command:

    >>> RBTools 0.6
    >>> Python 2.7.5 (default, Aug 25 2013, 00:04:04) 
    [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]
    >>> Running on Darwin-13.1.0-x86_64-i386-64bit
    >>> Home = /Users/
    >>> Current directory = /Users/xxxx/Projects/xxxx
    >>> Checking for a Subversion repository...
    >>> Running: svn info --non-interactive
    >>> Command exited with rc 1: ['svn', 'info', '--non-interactive']
    svn: E155007: '/Users/xxxx/Projects/xxxx' is not a working copy
    ---
    >>> Checking for a Git repository...
    >>> Running: git rev-parse --git-dir
    >>> Running: git config core.bare
    >>> Running: git rev-parse --show-toplevel
    >>> Running: git symbolic-ref -q HEAD
    >>> Running: git config --get branch.master.merge
    >>> Running: git config --get branch.master.remote
    >>> Running: git config --get remote.xxxx.url
    >>> Command exited with rc 1: ['git', 'config', '--get', 'remote.xxxx.url']
    ---
    >>> Running: git config --get remote.xxxx.url
    >>> Command exited with rc 1: ['git', 'config', '--get', 'remote.xxxx.url']
    ---
    >>> repository info: Path: /Users/xxxx/Projects/xxxx/.git, Base path: , Supports changesets: False
    >>> Making HTTP GET request to  http://reviews.xxxx.com/api/
    >>> Making HTTP GET request to http://reviews.xxxx.com/api/info/
    >>> Running: git rev-parse dfba187de58bee47677d734a5044e47004c4daea..771ada8a43f1cb1d1f75b16925fc332e8ea8d365
    >>> Running: git branch -r --contains dfba187de58bee47677d734a5044e47004c4daea
    >>> Running: git diff --no-color --full-index --ignore-submodules --no-renames dfba187de58bee47677d734a5044e47004c4daea..771ada8a43f1cb1d1f75b16925fc332e8ea8d365 -M
    >>> Running: git log --reverse --pretty=format:%s%n%n%b ^dfba187de58bee47677d734a5044e47004c4daea 771ada8a43f1cb1d1f75b16925fc332e8ea8d365
    >>> Making HTTP GET request to http://reviews.xxxx.com/api/review-requests/
    >>> Making HTTP POST request to http://reviews.xxxx.com/api/review-requests/
    >>> Making HTTP GET request to http://reviews.xxxx.com/api/review-requests/3373/diffs/
    >>> Making HTTP POST request to http://reviews.xxxx.com/api/review-requests/3373/diffs/
    >>> Got API Error 207 (HTTP code 400): The file was not found in the repository
    >>> Error data: {u'stat': u'fail', u'file': u'xxxx/en.lproj/InfoPlist.strings', u'err': {u'msg': u'The file was not found in the repository', u'code': 207}, u'revision': u''}
    Traceback (most recent call last):
      File "/usr/local/bin/rbt", line 8, in <module>
        load_entry_point('RBTools==0.6', 'console_scripts', 'rbt')()
      File "/Library/Python/2.7/site-packages/RBTools-0.6-py2.7.egg/rbtools/commands/main.py", line 134, in main
        command.run_from_argv([RB_MAIN, command_name] + args)
      File "/Library/Python/2.7/site-packages/RBTools-0.6-py2.7.egg/rbtools/commands/__init__.py", line 422, in run_from_argv
        exit_code = self.main(*args) or 0
      File "/Library/Python/2.7/site-packages/RBTools-0.6-py2.7.egg/rbtools/commands/post.py", line 769, in main
        submit_as=self.options.submit_as)
      File "/Library/Python/2.7/site-packages/RBTools-0.6-py2.7.egg/rbtools/commands/post.py", line 545, in post_request
        raise CommandError('\n'.join(error_msg))
    rbtools.commands.CommandError: Error uploading diff
    
    
    The file was not found in the repository (HTTP 400, API Error 207)
    
    Your review request still exists, but the diff is not attached.
    

  • GIT - Should I ignore Makefile, and other files generating by IDE?
  • Commit code to a specific branch _after_ writing all the code (git)?
  • How can I display a 'last-deployed' timestamp from within my Heroku Rails app?
  • Difference between git reset and git cherry-pick
  • Git: retrieve specific commit
  • How to run ./script.sh in windows Git shell?
  • One Solution collect form web for “(Reviewboard 1.7 RBTools 0.6) How to post-review a range of commits”

    This can happen if you are posting to a different repository name on an SVN server than you are guessing or specifying. I’m told this also can happen with renames in GIT too.

    for example something like

    rbt post -g yes –server https://review.site.net -o –repository mine

    will fail if the repo is really

    rbt post -g yes –server https://review.site.net -o –repository newmine

    in SVN.

    Does not look like you are using SVN, but rather delta from revisions, but double check for any renames that would look the same. I give this answer too for anyone who has the same error when working with an upstream/remote server like SVN and using git-svn.

    Git Baby is a git and github fan, let's start git clone.