Opened 12 years ago
Last modified 12 years ago
#10545 closed defect
Mercurial plugin fails with IndexError — at Version 1
Reported by: | Mitar | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | version control | Version: | 0.12.2 |
Severity: | normal | Keywords: | verify |
Cc: | mmitar@… | Branch: | |
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description (last modified by )
I am getting IndexError: list index out of range
when I am trying to search Trac with Mercurial repository.
File "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 511, in _dispatch_request dispatcher.dispatch(req) File "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 237, in dispatch resp = chosen_handler.process_request(req) File "/usr/lib/python2.6/dist-packages/trac/search/web_ui.py", line 103, in process_request results = self._do_search(req, terms, filters) File "/usr/lib/python2.6/dist-packages/trac/search/web_ui.py", line 208, in _do_search or []) File "/usr/lib/python2.6/dist-packages/trac/versioncontrol/web_ui/changeset.py", line 1153, in get_search_results if 'CHANGESET_VIEW' in req.perm(cset): File "/usr/lib/python2.6/dist-packages/trac/perm.py", line 553, in has_permission return self._has_permission(action, resource) File "/usr/lib/python2.6/dist-packages/trac/perm.py", line 567, in _has_permission check_permission(action, perm.username, resource, perm) File "/usr/lib/python2.6/dist-packages/trac/perm.py", line 454, in check_permission perm) File "/usr/lib/python2.6/dist-packages/trac/versioncontrol/svn_authz.py", line 204, in check_permission changes = list(repos.get_changeset(resource.id).get_changes()) File "build/bdist.linux-x86_64/egg/tracext/hg/backend.py", line 653, in get_changeset return MercurialChangeset(self, self.changectx(rev)) File "build/bdist.linux-x86_64/egg/tracext/hg/backend.py", line 537, in changectx return self.repo[self.short_rev(rev)] File "/usr/lib/python2.6/dist-packages/mercurial/localrepo.py", line 205, in __getitem__ return context.changectx(self, changeid) File "/usr/lib/python2.6/dist-packages/mercurial/context.py", line 26, in __init__ self._node = self._repo.changelog.node(changeid) File "/usr/lib/python2.6/dist-packages/mercurial/revlog.py", line 309, in node return self.index[rev][7]
To get this error I first have to change error reporting by removing {{{
<td><code>${shorten_line(repr(value))}</code></td>
}}}
from error.html
. If I do not remove it, I get this error instead:
File "/usr/lib/pymodules/python2.6/genshi/template/eval.py", line 178, in evaluate return eval(self.code, _globals, {'__data__': data}) File "/usr/lib/python2.6/dist-packages/trac/templates/error.html", line 165, in <Expression u'shorten_line(repr(value))'> <td><code>${shorten_line(repr(value))}</code></td> File "/usr/lib/python2.6/dist-packages/mercurial/context.py", line 38, in __repr__ return "<changectx %s>" % str(self) File "/usr/lib/python2.6/dist-packages/mercurial/context.py", line 32, in __str__ return short(self.node()) File "/usr/lib/python2.6/dist-packages/mercurial/context.py", line 101, in node return self._node AttributeError: 'changectx' object has no attribute '_node'
I am using Mercurial 2.0.1 and 10899 revision of Mercurial plugin for Trac.
Note:
See TracTickets
for help on using tickets.
Looks like a nasty one…
Btw, how did you manage to search on Mercurial changesets? ;-)