Trying to use post-review with our custom git setup. My repository is
configured in ReviewBoard with the path being
git@server:my_project.git. I've setup the SSH key in ReviewBoard to
use that git URL, and confirmed that's working. ReviewBoard 1.6
alpha 0 (dev)
I'm running this command on my Mac desktop:
git config reviewboard.url
http://reviewboard.mydomain.com
post-review --parent=aa1c05d4bab33156cd3feaeb8ea6ed669eb92eee --
revision-range=aa1c05d4bab33156cd3feaeb8ea6ed669eb92eee:
1015d188c7d28c3b543b1e528ab34e8ee2a62cdf --guess-summary --guess-
description --publish --debug
---------------------------------------------
This is the error I'm getting from post-review on my Mac desktop:
>>> svn info
>>> git rev-parse --git-dir
>>> git symbolic-ref -q HEAD
>>> git svn info
>>> git svn --version
>>> git config --get svn-remote.svn.url
>>> git config --get branch.master.merge
>>> git config --get branch.master.remote
>>> git config remote.origin.url
>>> repository info: Path: git@server:my_project.git, Base path: , Supports changesets: False
>>> git config --get reviewboard.url
>>> git log --pretty=format:%s aa1c05d4bab33156cd3feaeb8ea6ed669eb92eee..1015d188c7d28c3b543b1e528ab34e8ee2a62cdf
>>> git log --pretty=format:%s%n%n%b aa1c05d4bab33156cd3feaeb8ea6ed669eb92eee..1015d188c7d28c3b543b1e528ab34e8ee2a62cdf
>>> git diff --no-color --full-index aa1c05d4bab33156cd3feaeb8ea6ed669eb92eee..1015d188c7d28c3b543b1e528ab34e8ee2a62cdf
>>> Looking for '
reviewboard.mydomain.com /' cookie in /Users/myuser/.post-review-cookies.txt
>>> Loaded valid cookie -- no login required
>>> Attempting to create review request on git@server:my_project.git for None
>>> HTTP POSTing to
http://reviewboard.mydomain.com/api/json/reviewrequests/new/: {'repository_path': 'git@server:my_project.git'}
>>> Review request created
>>> Attempting to set field 'summary' to 'Blah Blah #3135 - Blah blah blah yadayadaydada * blH, BAH, bah, New(template) added * blah written for model, controller(blah, hey), and New hey * Refactored component and blah authorization specs into seperate files * Added Administration namespace' for review request '48'
>>> HTTP POSTing to
http://reviewboard.mydomain.com/api/json/reviewrequests/48/draft/set/: {'summary': 'Blah Blah #3135 - Blah blah blah yadayadaydada * blH, BAH, bah, New(template) added * blah written for model, controller(blah, hey), and New hey * Refactored component and blah authorization specs into seperate files * Added Administration namespace'}
>>> Attempting to set field 'description' to 'Blah Blah #3135 - Blah blah blah yadayadaydada * blH, BAH, bah, New(template) added * blah written for model, controller(blah, hey), and New hey * Refactored component and blah authorization specs into seperate files * Added Administration namespace' for review request '48'
>>> HTTP POSTing to
http://reviewboard.mydomain.com/api/json/reviewrequests/48/draft/set/: {'description': 'Blah Blah #3135 - Blah blah blah yadayadaydada * blH, BAH, bah, New(template) added * blah written for model, controller(blah, hey), and New hey * Refactored component and blah authorization specs into seperate files * Added Administration namespace'}
>>> Uploading diff, size: 32902
>>> HTTP POSTing to
http://reviewboard.mydomain.com/api/json/reviewrequests/48/diff/new/: {}
>>> Got API Error 105 (HTTP code 200): One or more fields had errors
>>> Error data: {u'fields': {u'path': [u"fatal: Not a git repository: 'None'\n"]}, u'stat': u'fail', u'err': {u'msg': u'One or more fields had errors', u'code': 105}, u'deprecated': {u'in_version': u'1.5'}}
Error uploading diff
The generated diff file was empty. This usually means no files were
modified in this change.
Try running with --output-diff and --debug for more information.
Your review request still exists, but the diff is not attached.
-------------------------------------
This is the error that's in apache's error.log on my server running
ReviewBoard:
ERROR:root:Error uploading new diff: fatal: Not a git repository:
'None'
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/
ReviewBoard-1.6alpha0.dev-py2.6.egg/reviewboard/webapi/json.py", line
1168, in new_diff
request.FILES.get('parent_diff_path'))
File "/usr/local/lib/python2.6/dist-packages/
ReviewBoard-1.6alpha0.dev-py2.6.egg/reviewboard/reviews/forms.py",
line 284, in create
history)
File "/usr/local/lib/python2.6/dist-packages/
ReviewBoard-1.6alpha0.dev-py2.6.egg/reviewboard/diffviewer/forms.py",
line 63, in create
diff_file, basedir, check_existance=(not parent_diff_file)))
File "/usr/local/lib/python2.6/dist-packages/
ReviewBoard-1.6alpha0.dev-py2.6.egg/reviewboard/diffviewer/forms.py",
line 149, in _process_files
not tool.file_exists(filename, revision))):
File "/usr/local/lib/python2.6/dist-packages/
ReviewBoard-1.6alpha0.dev-py2.6.egg/reviewboard/scmtools/git.py", line
75, in file_exists
return self.client.get_file_exists(path, revision)
File "/usr/local/lib/python2.6/dist-packages/
ReviewBoard-1.6alpha0.dev-py2.6.egg/reviewboard/scmtools/git.py", line
348, in get_file_exists
contents = self._cat_file(path, revision, "-t")
File "/usr/local/lib/python2.6/dist-packages/
ReviewBoard-1.6alpha0.dev-py2.6.egg/reviewboard/scmtools/git.py", line
394, in _cat_file
raise SCMError(errmsg)
SCMError: fatal: Not a git repository: 'None'
----------------------------------------------------
Any ideas? I've tried all sorts of variations of flags for the post-
review command to no avail. I think the issue is somewhere on the
server side. It seems somewhere my git URL is not being set ('None')
or perhaps ignored.
-Michael