Edgewall Software
Modify

Opened 13 years ago

Last modified 9 years ago

#9775 new defect

implement get_path_history in the versioncontrol cache

Reported by: Mikko Rantalainen <mikko.rantalainen@…> 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 Christian Boos, 13 years ago

Milestone: next-major-0.1X
Owner: set to Christian Boos

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.

comment:2 by Christian Boos, 13 years ago

Keywords: bitesized added
Summary: NotImplementedError:implement get_path_history in the versioncontrol cache

comment:3 by Mikko Rantalainen <mikko.rantalainen@…>, 13 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 Christian Boos, 13 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 Ryan J Ollos, 10 years ago

#10996 and #11611 have been closed as duplicates for hg and git, respectively.

Last edited 10 years ago by Ryan J Ollos (previous) (diff)

comment:6 by Ryan J Ollos, 9 years ago

Owner: Christian Boos removed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The ticket will remain with no owner.
The ticket will be disowned.
as The resolution will be set. Next status will be 'closed'.
The owner will be changed from (none) to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.