LookupError, <file> not found in manifest
|Reported by:||Owned by:||Christian Boos|
|Priority:||high||Milestone:||plugin - mercurial|
Fixed retrieval of last change on directories in the TracBrowser.
Traceback (most recent call last): File "/Users/classic/Desktop/tmp/Trac-0.12.2/trac/web/main.py", line 511, in _dispatch_request dispatcher.dispatch(req) File "/Users/classic/Desktop/tmp/Trac-0.12.2/trac/web/main.py", line 237, in dispatch resp = chosen_handler.process_request(req) File "/Users/classic/Desktop/tmp/Trac-0.12.2/trac/versioncontrol/web_ui/browser.py", line 390, in process_request dir_data = self._render_dir(req, repos, node, rev, order, desc) File "/Users/classic/Desktop/tmp/Trac-0.12.2/trac/versioncontrol/web_ui/browser.py", line 549, in _render_dir entries = [entry(n) for n in node.get_entries() File "/Users/classic/Desktop/tmp/mercurial-plugin/tracext/hg/backend.py", line 1026, in get_entries str_entries) File "/Users/classic/Desktop/tmp/mercurial-plugin/tracext/hg/backend.py", line 956, in find_dirctx dr = max(dr, max_ctx.filectx(f).linkrev()) File "/Users/classic/Desktop/tmp/lib/python2.7/site-packages/mercurial/context.py", line 177, in filectx fileid = self.filenode(path) File "/Users/classic/Desktop/tmp/lib/python2.7/site-packages/mercurial/context.py", line 166, in filenode return self._fileinfo(path) File "/Users/classic/Desktop/tmp/lib/python2.7/site-packages/mercurial/context.py", line 161, in _fileinfo _('not found in manifest')) LookupError: lib/sqlalchemy/databases/postgresql.py@58937c3f4abe: not found in manifest
Error appears in Trac 0.12 with Mercurial plugin r10879.
The error is be observed by linking Trac to the SQLAlchemy repository at http://hg.sqlalchemy.org/sqlalchemy/ , however I have a suspicion that the issue may be related to the latest revision being against a named branch that's not the "default". The error occurs when navigating to "lib/sqlalchemy/" as well as "test/perf", and probably others.
The only similar error I could find was #9611, but I don't have the same thing here as my Mercurial is reporting the version correctly:
classics-MacBook-Pro:mercurial-plugin classic$ ../bin/python Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from mercurial import __version__ >>> __version__.version '2.0.1'
A patch which seems to resolve the issue, though is probably not the right way to go as it's just silently squashing the error:
classics-MacBook-Pro:mercurial-plugin classic$ svn diff
953 953 str_files = str_entries[str_dir] 954 954 dr = str_dirctxs.get(str_dir, 0) 955 955 for f in str_files[:k]: 956 dr = max(dr, max_ctx.filectx(f).linkrev()) 956 try: 957 dr = max(dr, max_ctx.filectx(f).linkrev()) 958 except LookupError: 959 pass 957 960 str_files = str_files[k:] 958 961 if str_files: 959 962 str_entries[str_dir] = str_files
This error did not occur in Trac .11 with the older version of the plugin. I tried working backwards through TracMercurial revs but the earliest rev that even works with 0.12 seems to be r10698 which also has the issue.
Change History (10)
comment:1 Changed 6 years ago by
|Milestone:||→ plugin - mercurial|
comment:2 Changed 6 years ago by
|Priority:||normal → high|
|Version:||0.12.2 → 0.12dev|
comment:8 follow-up: 9 Changed 4 years ago by
|Status:||closed → reopened|
|Version:||0.12dev → 1.0|