It's expected that username and password would be None in the particular stack 
trace you included (since at that point it's just creating it to check that it 
can). The actual repository checking is a different code path that does include 
credentials.

-David

> On Jul 16, 2014, at 12:11 PM, Alexis <alexisde...@gmail.com> wrote:
> 
> Hi Christian,
> 
> I am encountering the same issue. it seems that before accessing the 
> repository, review board checks that it exists by trying to access it without 
> credentials (assumes there is public access to read) and then it accesses it 
> using the credentials. I have made the code fail where the error occurs to 
> get a traceback:
> 2014-07-15 15:31:52,529 - ERROR -  - SVN: Failed to get repository 
> information for https://example.com:81/svn/Test: callback_get_login required
> 2014-07-15 15:50:25,674 - ERROR -  - Exception thrown for user admin at 
> http://example.com:8181/reviewboard/admin/db/scmtools/repository/add/
> 
> unexpected indent (pysvn.py, line 39)
> Traceback (most recent call last):
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\core\handlers\base.py", 
> line 112, in get_response
>     response = wrapped_callback(request, *callback_args, **callback_kwargs)
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\contrib\admin\options.py", 
> line 432, in wrapper
>     return self.admin_site.admin_view(view)(*args, **kwargs)
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\utils\decorators.py", line 
> 99, in _wrapped_view
>     response = view_func(request, *args, **kwargs)
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\views\decorators\cache.py",
>  line 52, in _wrapped_view_func
>     response = view_func(request, *args, **kwargs)
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\contrib\admin\sites.py", 
> line 198, in inner
>     return view(request, *args, **kwargs)
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\utils\decorators.py", line 
> 29, in _wrapper
>     return bound_func(*args, **kwargs)
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\utils\decorators.py", line 
> 99, in _wrapped_view
>     response = view_func(request, *args, **kwargs)
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\utils\decorators.py", line 
> 25, in bound_func
>     return func(self, *args2, **kwargs2)
>   File "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\db\transaction.py", 
> line 371, in inner
>     return func(*args, **kwargs)
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\contrib\admin\options.py", 
> line 1113, in add_view
>     if form.is_valid():
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\forms.py",
>  line 1024, in is_valid
>     if not super(RepositoryForm, self).is_valid():
>   File "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\forms\forms.py", 
> line 129, in is_valid
>     return self.is_bound and not bool(self.errors)
>   File "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\forms\forms.py", 
> line 121, in errors
>     self.full_clean()
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\forms.py",
>  line 813, in full_clean
>     super(RepositoryForm, self).full_clean()
>   File "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\forms\forms.py", 
> line 273, in full_clean
>     self._clean_fields()
>   File "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\forms\forms.py", 
> line 291, in _clean_fields
>     value = getattr(self, 'clean_%s' % name)()
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\forms.py",
>  line 988, in clean_tool
>     scmtool_class = tool.get_scmtool_class()
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\models.py",
>  line 56, in get_scmtool_class
>     [six.binary_type(attr)])
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\__init__.py",
>  line 552, in <module>
>     recompute_svn_backend()
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\__init__.py",
>  line 527, in recompute_svn_backend
>     fromlist=['Client', 'has_svn_backend'])
>   File 
> "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\pysvn.py",
>  line 39
>     logging.debug('SVN: username: %s, password: %s' %
>    ^
> IndentationError: unexpected indent
> 2014-07-15 16:25:14,766 - INFO -  - Using reviewboard.scmtools.svn.pysvn 
> backend for SVN
> 2014-07-15 16:35:53,088 - INFO -  - Using reviewboard.scmtools.svn.pysvn 
> backend for SVN
> 2014-07-15 16:36:55,710 - DEBUG -  - SVN: username: None, password: None
> 
> As you can see at this point, username and password are both none. I created 
> a hack by commenting out the exception code in 
> ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn__init__.py but it is 
> obviously not a proper fix:
> def on_ssl_failure(e, path, cert_data):
>         logging.error('SVN: Failed to get repository information '
>                       'for %s: %s' % (path, e))
>         #if 'callback_get_login required' in six.text_type(e):
>         #    raise AuthenticationError(msg="Authentication failed")
> 
>         if cert_data:
>             failures = cert_data['failures']
> 
>             reasons = []
> 
>             if failures & SVNCertificateFailures.NOT_YET_VALID:
>                 reasons.append(_('The certificate is not yet valid.'))
> 
>             if failures & SVNCertificateFailures.EXPIRED:
>                 reasons.append(_('The certificate has expired.'))
> 
>             if failures & SVNCertificateFailures.CN_MISMATCH:
>                 reasons.append(_('The certificate hostname does not '
>                                  'match.'))
> 
>             if failures & SVNCertificateFailures.UNKNOWN_CA:
>                 reasons.append(_('The certificate is not issued by a '
>                                  'trusted authority. Use the fingerprint '
>                                  'to validate the certificate manually.'))
> 
>             raise UnverifiedCertificateError(
>                 Certificate(valid_from=cert_data['valid_from'],
>                             valid_until=cert_data['valid_until'],
>                             hostname=cert_data['hostname'],
>                             realm=cert_data['realm'],
>                             fingerprint=cert_data['finger_print'],
>                             issuer=cert_data['issuer_dname'],
>                             failures=reasons))
> 
>         #raise RepositoryNotFoundError()
> Could you please help fix it properly?
> 
>> On Monday, 14 July 2014 13:38:02 UTC-5, Christian Hammond wrote:
>> I wish I had an answer for you, but this is not typical behavior.
>> 
>> I’d try upgrading PySVN. I’d also delete your $sitedir/data/.subversion 
>> directory, to start from scratch.
>> 
>> Make sure the correct username and password are being used in the repository 
>> setup. Don’t specify a username in the URL.
>> 
>> If all that fails.. not sure, really. We’d have to investigate deeper by 
>> actually running code on your server, but we only offer that with support 
>> contracts.
>> 
>> Christian
>> 
>> -- 
>> Christian Hammond - chri...@beanbaginc.com
>> Review Board - http://www.reviewboard.org
>> Beanbag, Inc. - http://www.beanbaginc.com
>> 
>>> On July 13, 2014 at 10:45:50 PM, shravanthi s (shra...@gmail.com) wrote:
>>> 
>>> I have checked reviewboard.log and this is the only error which comes up in 
>>> the log
>>> 
>>>  ERROR -  - SVN: Failed to get repository information for 
>>> https://test.com/svn/myfolder/Phoenix: callback_get_login required
>>> 
>>> Any other log you want me to check?
>>> 
>>> --
>>> Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/
>>> ---
>>> Sign up for Review Board hosting at RBCommons: https://rbcommons.com/
>>> ---
>>> Happy user? Let us know at http://www.reviewboard.org/users/
>>> ---
>>> You received this message because you are subscribed to the Google Groups 
>>> "reviewboard" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to reviewboard...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/
> ---
> Sign up for Review Board hosting at RBCommons: https://rbcommons.com/
> ---
> Happy user? Let us know at http://www.reviewboard.org/users/
> --- 
> You received this message because you are subscribed to the Google Groups 
> "reviewboard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to reviewboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/
---
Sign up for Review Board hosting at RBCommons: https://rbcommons.com/
---
Happy user? Let us know at http://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
"reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to