Opened 16 years ago
Closed 16 years ago
#9136 closed defect (fixed)
MultiRepos Top level browser view + View Changes causes exception
| Reported by: | Owned by: | Remy Blank | |
|---|---|---|---|
| Priority: | normal | Milestone: | 0.12 |
| Component: | general | Version: | 0.12dev |
| Severity: | normal | Keywords: | |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
I have a local trac installation where I have set up multiple repositories (trac-0.12dev).
When navigating to the repository browser, it will display the top level repository view, i.e. the repositories that have been registered with the system.
The template will also diplay a "View changes" button.
Clicking on that button yields
Oops…
Trac detected an internal error:
AttributeError: 'NoneType' object has no attribute 'normalize_rev'
This is probably a local installation issue.
Found a bug in Trac?
If you think this should work and you can reproduce the problem, you should consider creating a bug report.
Before you do that, though, please first try searching for similar issues, as it is quite likely that this problem has been reported before. For questions about installation and configuration of Trac or its plugins, please try the mailing list instead of creating a ticket.
Otherwise, please ==== How to Reproduce ==== While doing a GET operation on `/diff`, Trac issued an internal error. ''(please provide additional details here)'' Request parameters: {{{ {'new_path': u'/', 'new_rev': u'', 'old_path': u'/', 'old_rev': u''} }}} User Agent was: `Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7` ==== System Information ==== || '''`Trac`''' || `0.12dev-r0` || || '''`Python`''' || `2.6.4 (r264:75706, Dec 7 2009, 18:59:58) ` [[br]] `[GCC 4.4.1]` || || '''`setuptools`''' || `0.6c11` || || '''`pytz`''' || `2009l` || || '''`SQLite`''' || `3.6.16` || || '''`pysqlite`''' || `2.4.1` || || '''`Genshi`''' || `0.6dev-r0` || || '''`Babel`''' || `0.9.4` || || '''`mod_python`''' || `3.3.1` || || '''`Pygments`''' || `1.0` || || '''`Subversion`''' || `1.6.5 (r38866)` || || '''`jQuery`''' || `1.4.1` || ==== Enabled Plugins ==== || '''`TracThemeEngine`''' || `2.0.1` || || '''`TracTocMacro`''' || `11.0.0.3` || ==== Python Traceback ==== {{{ Traceback (most recent call last): File "/usr/local/lib/python2.6/dist-packages/Trac-0.12dev_r0-py2.6.egg/trac/web/main.py", line 495, in _dispatch_request dispatcher.dispatch(req) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12dev_r0-py2.6.egg/trac/web/main.py", line 227, in dispatch resp = chosen_handler.process_request(req) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12dev_r0-py2.6.egg/trac/versioncontrol/web_ui/changeset.py", line 1171, in process_request new_rev = new_repos.normalize_rev(new_rev) AttributeError: 'NoneType' object has no attribute 'normalize_rev' }}} a new bug report describing the problem and explain how to reproduce it.
Python Traceback
Most recent call last:
* File "/usr/local/lib/python2.6/dist-packages/Trac-0.12dev_r0-py2.6.egg/trac/web/main.py", line 495, in _dispatch_request
Code fragment:
Line
490 try:
491 if not env and env_error:
492 raise HTTPInternalError(env_error)
493 try:
494 dispatcher = RequestDispatcher(env)
495 dispatcher.dispatch(req)
496 except RequestDone:
497 pass
498 resp = req._response or []
499
500 except HTTPException, e:
Local variables:
Name Value
dispatcher <trac.web.main.RequestDispatcher object at 0x7f4e90896dd0>
e AttributeError("'NoneType' object has no attribute 'normalize_rev'",)
env <trac.env.Environment object at 0x7f4e909106d0>
env_error None
exc_info (<type 'exceptions.AttributeError'>, AttributeError("'NoneType' object has ...
faulty_plugins []
frames []
has_admin True
message u"AttributeError: 'NoneType' object has no attribute 'normalize_rev'"
plugins []
req <Request "GET u'/diff'">
resp []
th 'http://trac-hacks.org'
traceback u'Traceback (most recent call last):\n File ...
tracker 'http://trac.edgewall.org'
* File "/usr/local/lib/python2.6/dist-packages/Trac-0.12dev_r0-py2.6.egg/trac/web/main.py", line 227, in dispatch
Code fragment:
Line
222 raise HTTPBadRequest('Missing or invalid form '
223 'token. Do you have cookies '
224 'enabled?')
225
226 # Process the request and render the template
227 resp = chosen_handler.process_request(req)
228 if resp:
229 if len(resp) == 2: # Clearsilver
230 chrome.populate_hdf(req)
231 template, content_type = \
232 self._post_process_request(req, *resp)
Local variables:
Name Value
chosen_handler <trac.versioncontrol.web_ui.changeset.AnyDiffModule object at ...
chrome <trac.web.chrome.Chrome object at 0x7f4e907ce2d0>
err (<type 'exceptions.AttributeError'>, AttributeError("'NoneType' object has ...
handler <trac.versioncontrol.web_ui.changeset.AnyDiffModule object at ...
req <Request "GET u'/diff'">
self <trac.web.main.RequestDispatcher object at 0x7f4e90896dd0>
* File "/usr/local/lib/python2.6/dist-packages/Trac-0.12dev_r0-py2.6.egg/trac/versioncontrol/web_ui/changeset.py", line 1171, in process_request
Code fragment:
Line
1166 # -- normalize
1167 new_reponame, new_repos, new_path = \
1168 rm.get_repository_by_path(new_path)
1169 old_reponame, old_repos, old_path = \
1170 rm.get_repository_by_path(old_path)
1171 new_rev = new_repos.normalize_rev(new_rev)
1172 old_rev = old_repos.normalize_rev(old_rev)
1173
1174 # -- prepare rendering
1175 data = {'new_path': '/' + pathjoin(new_repos.reponame, new_path),
1176 'new_rev': new_rev,
Local variables:
Name Value
new_path '/'
new_reponame ''
new_repos None
new_rev u''
old_path '/'
old_reponame ''
old_repos None
old_rev u''
req <Request "GET u'/diff'">
rm <trac.versioncontrol.api.RepositoryManager object at 0x7f4e909173d0>
self <trac.versioncontrol.web_ui.changeset.AnyDiffModule object at ...
File "/usr/local/lib/python2.6/dist-packages/Trac-0.12dev_r0-py2.6.egg/trac/web/main.py", line 495, in _dispatch_request
dispatcher.dispatch(req)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.12dev_r0-py2.6.egg/trac/web/main.py", line 227, in dispatch
resp = chosen_handler.process_request(req)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.12dev_r0-py2.6.egg/trac/versioncontrol/web_ui/changeset.py", line 1171, in process_request
new_rev = new_repos.normalize_rev(new_rev)
System Information:
User Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7
Trac 0.12dev-r0
Python 2.6.4 (r264:75706, Dec 7 2009, 18:59:58) [GCC 4.4.1]
setuptools 0.6c11
pytz 2009l
SQLite 3.6.16
pysqlite 2.4.1
Genshi 0.6dev-r0
Babel 0.9.4
mod_python 3.3.1
Pygments 1.0
Subversion 1.6.5 (r38866)
jQuery 1.4.1
I believe that the "View changes" button should be hidden from the top level browser view.
Attachments (0)
Change History (3)
comment:1 by , 16 years ago
| Milestone: | → 0.12 |
|---|---|
| Owner: | set to |
comment:2 by , 16 years ago
Hi,
i can confirm this issue:
Errormessage after clicking on create new ticket:
Zum Reproduzieren
Beim Ausführen der Operation GET auf '/diff' hat Trac einen internen Fehler gemeldet.
this happens when clicking on view changes on top level
Anfrageparameter:
{'new_path': u'/', 'new_rev': u'', 'old_path': u'/', 'old_rev': u''}
Systeminformationen
Trac | 0.12dev-r9344
|
Babel | 1.0dev-r494
|
Genshi | 0.6dev-r1096
|
mod_python | 3.3.1
|
pysqlite | 2.3.2
|
Python | 2.5.2 (r252:60911, Jan 4 2009, 18:00:02) [GCC 4.3.2]
|
setuptools | 0.6c8
|
SQLite | 3.5.9
|
Subversion | 1.5.1 (r32289)
|
jQuery | 1.4.2
|
Enabled Plugins
Python-Zurückverfolgungsinformationen
Traceback (most recent call last):
File "build/bdist.linux-i686/egg/trac/web/main.py", line 504, in _dispatch_request
dispatcher.dispatch(req)
File "build/bdist.linux-i686/egg/trac/web/main.py", line 235, in dispatch
resp = chosen_handler.process_request(req)
File "build/bdist.linux-i686/egg/trac/versioncontrol/web_ui/changeset.py", line 1193, in process_request
new_rev = new_repos.normalize_rev(new_rev)
AttributeError: 'NoneType' object has no attribute 'normalize_rev'
comment:3 by , 16 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
This was only happening at the root of the source browser when no default repository was defined. Fixed in [9393].



Confirmed. Even better would be to make the button work.