Problem here seems to be that ReviewBoard doesn't handle the situation where there are revisions present that the repository user doesn't have access to. get_commits() fails because there is no commit['date'] for a given revision, when you have no access to the files that the revision affected.
After putting in a workaround for that (by skipping over revisions with no date), noticed get_commits() seemed to be failing in the same way when running across revisions where commit['message'] was non-existent (I think if the user didn't put in a log message?) So, also needed to change a non-existent commit['message'] to be treated as an empty string. -BRF On Wednesday, September 3, 2014 4:39:31 PM UTC-5, Eugene wrote: > > > My SVN repository (https://fs.<company>.com/svn-proj) has four > directories. All of them show up in "New Review Request for Committed > Change" drop-down box (on https://reviewboard.<company>.com/r/new/), but > only selecting one of them works ok, i.e. loads recent commits. > Selecting any other of the items results in empty list. Server log shows > the info below. Pls advise what could be the reason for that and how to fix > it? > Thanks > > 21:22:02 INFO > > - Using reviewboard.scmtools.svn.pysvn backend for SVN > > 21:22:03 ERROR > > - Exception thrown for user eugene at > https://reviewboard.<company>.com/api/repositories/1/commits/?branch=proj&api_format=json > > u'date' > Traceback (most recent call last): > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Django-1.6.6-py2.7.egg/django/core/handlers/base.py", > line 112, in get_response > response = wrapped_callback(request, *callback_args, **callback_kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Django-1.6.6-py2.7.egg/django/views/decorators/cache.py", > line 52, in _wrapped_view_func > response = view_func(request, *args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Django-1.6.6-py2.7.egg/django/views/decorators/vary.py", > line 19, in inner_func > response = func(*args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/resources.py", > line 494, in __call__ > request, method, view, api_format=api_format, *args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/resources.py", > line 565, in call_method_view > return view(request, *args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", > line 117, in _call > return view_func(*args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/webapi/decorators.py", > line 110, in _check > return view_func(*args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", > line 117, in _call > return view_func(*args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/webapi/decorators.py", > line 33, in _check > return view_func(*args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", > line 117, in _call > return view_func(*args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", > line 117, in _call > return view_func(*args, **kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", > line 287, in _validate > return view_func(*args, **new_kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/webapi/resources/repository_commits.py", > line 84, in get > items = repository.get_commits(branch=branch, start=start) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/scmtools/models.py", > line 328, in get_commits > cache_period) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/cache/backend.py", > line 118, in cache_memoize > data = lookup_callable() > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/scmtools/models.py", > line 313, in <lambda> > lambda: self.get_scmtool().get_commits(**commits_kwargs) > File > "/usr/local/python-2.7.8/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/scmtools/svn/__init__.py", > line 182, in get_commits > commit['date'].isoformat(), > File "/usr/local/python-2.7.8/lib/python2.7/UserDict.py", line 23, in > __getitem__ > raise KeyError(key) > KeyError: u'date' > > > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
