Hello, Christian.

Thank you very much for your response.

Yes, I configured the repository the way you said. But I just noticed
that the problem was that Review Board wasn't generating the right
"raw file URL mask" for organization accounts. I had to change it
from:

    
http://github.com/api/v2/yaml/blob/show/ORGANIZATION/PROJECT/<revision>?login=ORGANIZATION&token=MY_API_TOKEN

to:

    
http://github.com/api/v2/yaml/blob/show/ORGANIZATION/PROJECT/<revision>?login=ME&token=MY_API_TOKEN

Even though I had set the username to ME in the form.

However, it's still not working and I think this time it's a bug:

=====
>>> Uploading diff, size: 648218
>>> HTTP POSTing to 
>>> https://example.org/reviews/api/json/reviewrequests/62/diff/new/: {}
>>> Got API Error 105 (HTTP code 200): One or more fields had errors
>>> Error data: {'fields': {'path': ["object of type 'Revision' has no 
>>> len()"]}, 'stat': 'fail', 'err': {'msg': 'One or more fields had errors', 
>>> 'code': 105}, 'deprecated': {'in_version': '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.
=====

I can see the following traceback in the Apache logs:
=====
ERROR:root:Error uploading new diff: object of type 'Revision' has no
len()
Traceback (most recent call last):
  File "/srv/dev/review-board/virtualenv/lib/python2.5/site-packages/
ReviewBoard-1.5rc2-py2.5.egg/reviewboard/webapi/json.py", line 1169,
in new_diff
    request.FILES.get('parent_diff_path'))
  File "/srv/dev/review-board/virtualenv/lib/python2.5/site-packages/
ReviewBoard-1.5rc2-py2.5.egg/reviewboard/reviews/forms.py", line 249,
in create
    history)
  File "/srv/dev/review-board/virtualenv/lib/python2.5/site-packages/
ReviewBoard-1.5rc2-py2.5.egg/reviewboard/diffviewer/forms.py", line
63, in create
    diff_file, basedir, check_existance=(not parent_diff_file)))
  File "/srv/dev/review-board/virtualenv/lib/python2.5/site-packages/
ReviewBoard-1.5rc2-py2.5.egg/reviewboard/diffviewer/forms.py", line
137, in _process_files
    f2, revision = tool.parse_diff_revision(f.origFile, f.origInfo)
  File "/srv/dev/review-board/virtualenv/lib/python2.5/site-packages/
ReviewBoard-1.5rc2-py2.5.egg/reviewboard/scmtools/git.py", line 82, in
parse_diff_revision
    self.client.validate_sha1_format(file_str, revision)
  File "/srv/dev/review-board/virtualenv/lib/python2.5/site-packages/
ReviewBoard-1.5rc2-py2.5.egg/reviewboard/scmtools/git.py", line 348,
in validate_sha1_format
    if self.raw_file_url and len(sha1) != self.FULL_SHA1_LENGTH:
TypeError: object of type 'Revision' has no len()
=====

Cheers,

 - Gustavo.

On Sep 28, 6:49 pm, Christian Hammond <chip...@chipx86.com> wrote:
> When adding the repository entries, did you type the paths by hand?
>
> You should make sure to configure the repository with a "Hosting Service" of
> "GitHub (Private)" and then fill in the requested fields from there. You
> will need your API Token from your GitHub account (the one owning the
> project in question).
>
> Christian
>
> --
> Christian Hammond - chip...@chipx86.com
> Review Board -http://www.reviewboard.org
> VMware, Inc. -http://www.vmware.com
>
> On Tue, Sep 28, 2010 at 9:57 AM, Gustavo Narea <
>
> gna...@tech.2degreesnetwork.com> wrote:
> > Hello,
>
> > I cannot find the way to get post-review to work with a private GitHub
> > repository. Can you please give me a hand? This is driving me crazy,
> > specially after spending days migrating to Git pretty much to use
> > Review Board. :)
>
> > I have successfully configured the repository on the Web interface and
> > I have a local mirror of that repository, which I had to create just
> > to be able to run post-review (it errors out if I call it from another
> > directory); both repositories are registered in Review Board (i.e.,
> > "g...@github.com:us/project.git" and "/srv/mirror/project").
>
> > I'm trying to generate a review for all the changes that happened in a
> > feature branch, which was started from "master". This is how I run it:
> > $ cd /srv/mirror/project
> > $ post-review --server=http://example.org/reviews/--guess-summary --
> > guess-description --username=foo --password=bar --submit-as=baz --
> > tracking-branch=origin/master
>
> > But I get the following:
> > ====
> > (...)
> > >>> Uploading diff, size: 648218
> > >>> HTTP POSTing to
> >http://example.org/reviews/api/json/reviewrequests/57/diff/new/:{}
> > >>> Got API Error 207 (HTTP code 200): The file was not found in the
> > repository
> > >>> Error data: {'deprecated': {'in_version': '1.5'}, 'stat': 'fail',
> > 'file': '.bzrignore', 'err': {'msg': 'The file was not found in the
> > repository', 'code': 207}, 'revision':
> > 'e4537c290c47cd2946318c6e02f2edb6d7a732b7'}
>
> > Error uploading diff
>
> > Your review request still exists, but the diff is not attached.
> > ====
>
> > If I add the "--output-diff", I get the diff and seems OK.
>
> > I think the fact that it fails with the file ".bzrignore" is a
> > coincidence and is nothing to do with the migration from our previous
> > VCS. I get the same error even after removing it from "master" and the
> > feature branch.
>
> > I'm using Review Board 1.5 RC2 and RBTools 0.2.
>
> > Can you please help me out?
>
> > Thanks in advance,
>
> >  - Gustavo.
>
> > --
> > Want to help the Review Board project? Donate today at
> >http://www.reviewboard.org/donate/
> > Happy user? Let us know athttp://www.reviewboard.org/users/
> > -~----------~----~----~----~------~----~------~--~---
> > To unsubscribe from this group, send email to
> > reviewboard+unsubscr...@googlegroups.com<reviewboard%2bunsubscr...@googlegroups.com>
> > For more options, visit this group at
> >http://groups.google.com/group/reviewboard?hl=en

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~----------~----~----~----~------~----~------~--~---
To unsubscribe from this group, send email to 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en

Reply via email to