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

Reply via email to