Opened 14 years ago
Last modified 10 years ago
#9775 new defect
implement get_path_history in the versioncontrol cache
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Milestone: | next-major-releases |
Component: | version control/log view | Version: | 0.12.1 |
Severity: | normal | Keywords: | bitesized |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
While doing a GET operation on /log/oppimappi
, Trac issued an internal error.
Steps to reproduce:
- Click "Browse Source"
- Select a line with a git repository and click hex label in the "Rev" column (View Revision Log)
- Select "Show only adds and deletes" in "Revision Log Mode:" and hit "Update"
- "Trac detected an internal error:" and "NotImplementedError:" (note that it seems that the error string is missing the end of error message)
I'd guess that this is caused by an unimplemented feature in TracGit. Notice that "Stop on copy" and "Follow copies" do not cause errors (though I guess, they don't do anything with TracGit because everything is labelled as "Modified").
I think the "Summary" for this ticket is bad but I'll leave it as is to make this issue easier to find from the "Internal Error"'s "search for similar issues" link.
The string "oppimappi" is the repository name in my trac environment.
Request parameters:
{'action': u'stop_on_copy', 'limit': u'100', 'mode': u'path_history', 'path': u'/oppimappi', 'rev': u'f55567eb3a36f3189e3212678aedf5cfd7e0d0c2', 'stop_rev': u''}
User agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.04 (lucid) Firefox/3.6.12
System Information
Trac | 0.12.1
|
Babel | 0.9.5
|
Genshi | 0.6
|
GIT | 1.7.0.4
|
pysqlite | 2.4.1
|
Python | 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) [GCC 4.4.3]
|
RPC | 1.1.0-r9360
|
setuptools | 0.6
|
SQLite | 3.6.22
|
Subversion | 1.6.6 (r40053)
|
jQuery | 1.4.2
|
Enabled Plugins
TracGit | 0.12.0.5dev
|
TracXMLRPC | 1.1.0-r9360
|
Python Traceback
Traceback (most recent call last): File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/web/main.py", line 511, in _dispatch_request dispatcher.dispatch(req) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/web/main.py", line 237, in dispatch resp = chosen_handler.process_request(req) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/versioncontrol/web_ui/log.py", line 163, in process_request for old_path, old_rev, old_chg in history(): File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/versioncontrol/web_ui/log.py", line 119, in history for h in repos.get_path_history(path, rev): File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/versioncontrol/cache.py", line 386, in get_path_history limit) File "/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/versioncontrol/api.py", line 888, in get_path_history raise NotImplementedError NotImplementedError
Attachments (0)
Change History (6)
comment:1 by , 14 years ago
Milestone: | → next-major-0.1X |
---|---|
Owner: | set to |
comment:2 by , 14 years ago
Keywords: | bitesized added |
---|---|
Summary: | NotImplementedError: → implement get_path_history in the versioncontrol cache |
comment:3 by , 14 years ago
This is reproduceable with 0.13 demo environment, too: http://trac.edgewall.org/demo-0.13/log/trac.git?action=stop_on_copy&mode=path_history&rev=b08463ff5a262eaa2392cca91864780dde808704&stop_rev=&limit=100
By the way, I think that the "Internal error" in the page title is not in the localialization set (messages.po).
comment:4 by , 14 years ago
Well, when an internal error happens, we try to keep things as minimal and robust as possible, so we avoid using the i18n API when generating the error page (the i18n stuff alone used to and still can trigger internal errors).
comment:5 by , 11 years ago
comment:6 by , 10 years ago
Owner: | removed |
---|
Before someone closes this as PluginIssue… ;-)
The Show only adds and deletes mode is really painfully slow for svn, and should have been implemented since a long time on the cache.
Once this is done, all other backends using the cache should get this support for free.