﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,branch,changelog,apichanges,internalchanges
10719,"Abort: cannot follow file not in parent revision: ""tracext/hg/backend.py""",Christian Boos,,"Looks like we have a problem with `walkchangerevs` once again...

It doesn't happen for me with with Mercurial 2.0.2, but happens here with 2.2.1.

==== How to Reproduce ====

While doing a GET operation on `/log/mercurial-plugin/tracext/hg/backend.py`, Trac issued an internal error.

Request parameters:
{{{
{'path': u'/mercurial-plugin/tracext/hg/backend.py', 'rev': u'3'}
}}}

User agent: `Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.21 Safari/536.11`

==== System Information ====
|| '''`Trac`''' || `0.13dev-r11050` ||
...
|| '''`Mercurial`''' || `2.2.1` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup trac WSGIApplicationGroup %{GLOBAL})` ||
|| '''`Python`''' || `2.6.6 (r266:84292, Dec 26 2010, 22:48:11) ` [[br]] `[GCC 4.4.5]` ||

==== Enabled Plugins ====
|| '''`TracMercurial`''' || `0.13.0.5dev` ||
...

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/usr/local/virtualenv/0.13-stable/lib/python2.6/site-packages/Trac-0.13dev_r11050-py2.6.egg/trac/web/main.py"", line 480, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/local/virtualenv/0.13-stable/lib/python2.6/site-packages/Trac-0.13dev_r11050-py2.6.egg/trac/web/main.py"", line 198, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/local/virtualenv/0.13-stable/lib/python2.6/site-packages/Trac-0.13dev_r11050-py2.6.egg/trac/versioncontrol/web_ui/log.py"", line 172, in process_request
    for old_path, old_rev, old_chg in history():
  File ""/usr/local/virtualenv/0.13-stable/lib/python2.6/site-packages/Trac-0.13dev_r11050-py2.6.egg/trac/versioncontrol/web_ui/log.py"", line 163, in history
    for h in node.get_history():
  File ""/usr/local/virtualenv/0.13-stable/lib/python2.6/site-packages/TracMercurial-0.13.0.5dev-py2.6.egg/tracext/hg/backend.py"", line 1092, in _get_history_1_4
    for ctx in cmdutil.walkchangerevs(repo, matcher, opts, prep):
  File ""/usr/lib/python2.6/dist-packages/mercurial/cmdutil.py"", line 1058, in walkchangerevs
    for file_, node in iterfiles():
  File ""/usr/lib/python2.6/dist-packages/mercurial/cmdutil.py"", line 1052, in iterfiles
    'revision: ""%s""') % filename)
Abort: cannot follow file not in parent revision: ""tracext/hg/backend.py""
}}}",defect,new,normal,plugin - mercurial,plugin/mercurial,0.13dev,major,,,,,,,
