Hi Stephen, The path is still very necessary. post-review will be passing the repository path of the clone that post-review is run in, and that's needed for Review Board to find the right repository configuration to use.
Every repository requires a path. The Git support just doesn't use it for file access when the raw URL is used. That 'path' error is definitely a regression. It should be presenting an informative error, and at least used to. Please do file a bug on that and we'll get it in a point release. We can also update the docs to be more clear on the remote configuration. Christian -- Christian Hammond - chip...@chipx86.com Review Board - http://www.reviewboard.org VMware, Inc. - http://www.vmware.com On Wed, Nov 24, 2010 at 4:16 AM, Stephen Gallagher <karrde...@gmail.com> wrote: > http://www.reviewboard.org/docs/manual/dev/admin/management/repositories/#git > describes the configuration of a Git repo as being one or the other of > "Local Clone" or "Raw File URLs", however it appears that it's > impossible to set up JUST "Raw File URLs" without also having a local > clone in place. > > If I try to save a custom Git repository with just the "mirror > path" (for post-review) and "Raw file URL mask" set, ReviewBoard > returns a 500 error, and I see the following in the apache error_log: > > > > [Tue Nov 23 11:46:28 2010] [error] ERROR:root:Exception thrown for > user admin at > http://publictest4.fedoraproject.org/reviewboard/admin/db/scmtools/repository/1/ > [Tue Nov 23 11:46:28 2010] [error] > [Tue Nov 23 11:46:28 2010] [error] 'path' > [Tue Nov 23 11:46:28 2010] [error] Traceback (most recent call last): > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/django/core/handlers/base.py", line 99, in get_response > [Tue Nov 23 11:46:28 2010] [error] response = callback(request, > *callback_args, **callback_kwargs) > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/django/contrib/admin/options.py", line 225, in wrapper > [Tue Nov 23 11:46:28 2010] [error] return > self.admin_site.admin_view(view)(*args, **kwargs) > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/django/views/decorators/cache.py", line 44, in > _wrapped_view_func > [Tue Nov 23 11:46:28 2010] [error] response = view_func(request, > *args, **kwargs) > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/django/contrib/admin/sites.py", line 186, in inner > [Tue Nov 23 11:46:28 2010] [error] return view(request, *args, > **kwargs) > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/django/db/transaction.py", line 240, in _commit_on_success > [Tue Nov 23 11:46:28 2010] [error] res = func(*args, **kw) > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/django/contrib/admin/options.py", line 827, in change_view > [Tue Nov 23 11:46:28 2010] [error] if form.is_valid(): > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/reviewboard/scmtools/forms.py", line 578, in is_valid > [Tue Nov 23 11:46:28 2010] [error] return (super(RepositoryForm, > self).is_valid() and > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/django/forms/forms.py", line 119, in is_valid > [Tue Nov 23 11:46:28 2010] [error] return self.is_bound and not > bool(self.errors) > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/django/forms/forms.py", line 110, in _get_errors > [Tue Nov 23 11:46:28 2010] [error] self.full_clean() > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/reviewboard/scmtools/forms.py", line 500, in full_clean > [Tue Nov 23 11:46:28 2010] [error] return super(RepositoryForm, > self).full_clean() > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/django/forms/forms.py", line 249, in full_clean > [Tue Nov 23 11:46:28 2010] [error] self.cleaned_data = > self.clean() > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/reviewboard/scmtools/forms.py", line 520, in clean > [Tue Nov 23 11:46:28 2010] [error] self._verify_repository_path() > [Tue Nov 23 11:46:28 2010] [error] File "/usr/lib/python2.4/site- > packages/reviewboard/scmtools/forms.py", line 643, in > _verify_repository_path > [Tue Nov 23 11:46:28 2010] [error] path = > self.cleaned_data['path'] > [Tue Nov 23 11:46:28 2010] [error] KeyError: 'path' > > > > So I have two questions: > 1) Is the path still necessary even when using Raw File URLs? I would > think that having direct access to the file blobs would be sufficient, > like with the other SCMs. If it's not necessary, then I will file a > bug about this error. (Actually, I'll file a bug either way, since a > 500 error is not friendly. It should be a warning on the page that a > required option was not submitted) > > 2) If it IS necessary, please explain why, and then update the > documentation to clearly reflect that it .s > > -- > 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 -- 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