#10834 closed defect (fixed)
Internal Error when submitting a review
| Reported by: | Owned by: | Scott | |
|---|---|---|---|
| Priority: | normal | Component: | CodeReviewerPlugin |
| Severity: | normal | Keywords: | |
| Cc: | Scott | Trac Release: | 1.0 |
Description (last modified by )
I'm using Trac 1.0, via Apache. Installation seems to go well and differences on the changesets are shown, but when I try to submit a review on a changeset I get an internal error:
AttributeError: 'NoneType' object has no attribute 'get_changeset'
... = I substituted the path to the file.
We have multiple repositories set, but a default repository is defined.
I do not have that much experience with python, so any help would be appreciated.
How to Reproduce
While doing a POST operation on /changeset/141/moduletest/..., Trac issued an internal error.
Request parameters:
{'__FORM_TOKEN': u'6cea3ac5ccb4e7227f291cfb',
'new': u'141',
'new_path': u'/moduletest/...',
'reviewbutton': u'Submit review',
'status': u'PASSED',
'summary': u''}
User agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0
System Information
Trac | 1.0
|
Agilo | 1.3.9-pro
|
Genshi | 0.6 (without speedups)
|
Mercurial | 2.3.1
|
pysqlite | 2.6.0
|
Python | 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]
|
setuptools | 0.6c11
|
SQLite | 3.6.21
|
jQuery | 1.7.2
|
Enabled Plugins
binary-agilo | 1.3.9-pro
|
tracaccountmanager | 0.4
|
traccodereviewer | 0.0.2
|
tracmercurial | 1.0.0.3dev
|
Python Traceback
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\trac\web\main.py", line 497, in _dispatch_request
dispatcher.dispatch(req)
File "C:\Python27\lib\site-packages\trac\web\main.py", line 224, in dispatch
self._post_process_request(req, *resp)
File "C:\Python27\lib\site-packages\trac\web\main.py", line 338, in _post_process_request
resp = f.post_process_request(req, *resp)
File "build\bdist.win32\egg\coderev\web_ui.py", line 59, in post_process_request
tickets = self._update_tickets(req, review)
File "build\bdist.win32\egg\coderev\web_ui.py", line 127, in _update_tickets
changeset = repo.get_changeset(review.changeset)
AttributeError: 'NoneType' object has no attribute 'get_changeset'
Attachments (0)
Change History (11)
comment:1 Changed 13 years ago by
| Description: | modified (diff) |
|---|
comment:2 Changed 12 years ago by
comment:4 Changed 12 years ago by
| Cc: | Scott added; anonymous removed |
|---|
comment:5 Changed 12 years ago by
This patch worked for me:
-
codereviewerplugin/0.12/coderev/web_ui.py
diff --git a/codereviewerplugin/0.12/coderev/web_ui.py b/codereviewerplugin/0.12/coderev/web_ui.py index 5e22e11..e2de454 100644
a b class CodeReviewerModule(Component): 122 122 comment += " for [%(_ref)s]:\n\n%(summary)s" % summary 123 123 124 124 # find and update tickets 125 # TODO: handle when there's no explicitly named repo 126 repo = RepositoryManager(self.env).get_repository(review.repo) 125 rm = RepositoryManager(self.env) 126 new_path = req.args.get('new_path') 127 reponame = req.args.get('reponame') 128 if reponame: 129 repo = rm.get_repository(reponame) 130 else: 131 reponame, repo, new_path = rm.get_repository_by_path(new_path) 127 132 changeset = repo.get_changeset(review.changeset) 128 133 ticket_re = CommitTicketUpdater.ticket_re 129 134 tickets = ticket_re.findall(changeset.message)
comment:6 follow-up: 7 Changed 12 years ago by
I haven't been able to reproduce. Could you describe how the repository is configured?
- Is the repository defined in trac.ini, or through the web administration page and stored in the database?
- Do you have multiple repositories defined? If so, does the issue only occur for some repositories? Does it occur for the default repository?
I was a bit confused by the patch in comment:5, so I edited it. Does it look correct to you now?
comment:7 Changed 12 years ago by
Replying to rjollos:
Here are the relevant trac.ini entries:
repository_dir = /sysadm/svn/svip/vlab_svip_ocp repository_sync_per_request = (default) repository_type = svn
We are using the system httpd with multiple Trac instances, but only one repository for each instance. I have only tried the plugin on this instance.
The edited comment:5 patch looks correct.
The patch is based on this code in changeset.py: nullege.com
comment:8 Changed 12 years ago by
| Owner: | changed from Rob Guttman to Ryan J Ollos |
|---|---|
| Status: | new → accepted |
comment:10 Changed 12 years ago by
| Owner: | changed from Ryan J Ollos to Scott |
|---|



I have some error.