This looks like a setup problem of some sort in your database. First of all, when you upgraded to this version of Review Board, did you use easy_install, or pip?
What's happening is that it's not finding the database model for the SCMTool (so, for "Git"). Can you go into the Admin UI -> Database -> SCMTools and try to find a tool for Git? Christian -- Christian Hammond - chip...@chipx86.com Review Board - http://www.reviewboard.org VMware, Inc. - http://www.vmware.com On Feb 27, 2013, at 10:21 AM, Lei Zheng <qdlzh...@gmail.com> wrote: > Hey, experts: > > I got the following exception when I am adding a repository from github. > Anyone can give me a clue what could be wrong? > Thanks! > > Lei > > 013-02-27 17:56:22,444 - DEBUG - Trying SSH key > ef811d10d36b2395a858f9f68c355057 > 2013-02-27 17:56:22,668 - DEBUG - userauth is OK > 2013-02-27 17:56:22,918 - INFO - Authentication (publickey) successful! > 2013-02-27 17:56:22,920 - DEBUG - Debug msg: Forced command: gerve qdlzheng > ef:81:1d:10:d3:6b:23:95:a8:58:f9:f6:8c:35:50:57 > 2013-02-27 17:56:22,920 - DEBUG - Debug msg: Port forwarding disabled. > 2013-02-27 17:56:22,920 - DEBUG - Debug msg: X11 forwarding disabled. > 2013-02-27 17:56:22,921 - DEBUG - Debug msg: Agent forwarding disabled. > 2013-02-27 17:56:22,921 - DEBUG - Debug msg: Pty allocation disabled. > 2013-02-27 17:56:23,021 - DEBUG - EOF in transport thread > 2013-02-27 17:56:24,060 - ERROR - Exception thrown for user admin at > http://cr.dev.mymachines.com/admin/db/scmtools/repository/add/ > > Traceback (most recent call last): > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/core/handlers/base.py", > line 111, in get_response > response = callback(request, *callback_args, **callback_kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/contrib/admin/options.py", > line 366, in wrapper > return self.admin_site.admin_view(view)(*args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/utils/decorators.py", > line 91, in _wrapped_view > response = view_func(request, *args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/views/decorators/cache.py", > line 89, in _wrapped_view_func > response = view_func(request, *args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/contrib/admin/sites.py", > line 196, in inner > return view(request, *args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/utils/decorators.py", > line 25, in _wrapper > return bound_func(*args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/utils/decorators.py", > line 91, in _wrapped_view > response = view_func(request, *args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/utils/decorators.py", > line 21, in bound_func > return func(self, *args2, **kwargs2) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/db/transaction.py", > line 224, in inner > return func(*args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/contrib/admin/options.py", > line 937, in add_view > if form.is_valid(): > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 887, in is_valid > if not super(RepositoryForm, self).is_valid(): > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/forms/forms.py", > line 124, in is_valid > return self.is_bound and not bool(self.errors) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/forms/forms.py", > line 115, in _get_errors > self.full_clean() > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 704, in full_clean > super(RepositoryForm, self).full_clean() > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/forms/forms.py", > line 271, in full_clean > self._clean_form() > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/forms/forms.py", > line 299, in _clean_form > self.cleaned_data = self.clean() > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 753, in clean > self._clean_ssh_key_association() > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 781, in _clean_ssh_key_association > repository = self.save(commit=False) > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 919, in save > if repository.get_scmtool().supports_ticket_auth: > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/models.py", > line 135, in get_scmtool > cls = self.tool.get_scmtool_class() > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/db/models/fields/related.py", > line 343, in __get__ > raise self.field.rel.to.DoesNotExist > DoesNotExist > 2013-02-27 17:56:24,063 - ERROR - Internal Server Error: > /admin/db/scmtools/repository/add/ > Traceback (most recent call last): > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/core/handlers/base.py", > line 111, in get_response > response = callback(request, *callback_args, **callback_kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/contrib/admin/options.py", > line 366, in wrapper > return self.admin_site.admin_view(view)(*args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/utils/decorators.py", > line 91, in _wrapped_view > response = view_func(request, *args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/views/decorators/cache.py", > line 89, in _wrapped_view_func > response = view_func(request, *args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/contrib/admin/sites.py", > line 196, in inner > return view(request, *args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/utils/decorators.py", > line 25, in _wrapper > return bound_func(*args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/utils/decorators.py", > line 91, in _wrapped_view > response = view_func(request, *args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/utils/decorators.py", > line 21, in bound_func > return func(self, *args2, **kwargs2) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/db/transaction.py", > line 224, in inner > return func(*args, **kwargs) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/contrib/admin/options.py", > line 937, in add_view > if form.is_valid(): > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 887, in is_valid > if not super(RepositoryForm, self).is_valid(): > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/forms/forms.py", > line 124, in is_valid > return self.is_bound and not bool(self.errors) > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/forms/forms.py", > line 115, in _get_errors > self.full_clean() > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 704, in full_clean > super(RepositoryForm, self).full_clean() > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/forms/forms.py", > line 271, in full_clean > self._clean_form() > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/forms/forms.py", > line 299, in _clean_form > self.cleaned_data = self.clean() > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 753, in clean > self._clean_ssh_key_association() > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 781, in _clean_ssh_key_association > repository = self.save(commit=False) > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/forms.py", > line 919, in save > if repository.get_scmtool().supports_ticket_auth: > File > "/usr/local/lib/python2.7/dist-packages/ReviewBoard-1.7.6-py2.7.egg/reviewboard/scmtools/models.py", > line 135, in get_scmtool > cls = self.tool.get_scmtool_class() > File > "/usr/local/lib/python2.7/dist-packages/Django-1.4.5-py2.7.egg/django/db/models/fields/related.py", > line 343, in __get__ > raise self.field.rel.to.DoesNotExist > DoesNotExist > > > -- > 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 > --- > 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/groups/opt_out. > > -- 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 --- 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/groups/opt_out.