Edgewall Software
Modify

Opened 9 years ago

Closed 9 years ago

#9611 closed defect (cantfix)

"LookupError: …: not found in manifest" when looking at hg revision log

Reported by: Felix Schwarz Owned by:
Priority: normal Milestone:
Component: plugin/mercurial Version: 0.11.7
Severity: normal Keywords:
Cc: Branch:
Release Notes:
API Changes:

Description

I can trigger an exception in Mercurial which is not caught by the plugin when looking at a revision log for directories:

File "…/Trac-0.11.7-py2.3.egg/trac/web/main.py", line 450, in _dispatch_request
  dispatcher.dispatch(req)
File "…/Trac-0.11.7-py2.3.egg/trac/web/main.py", line 206, in dispatch
  resp = chosen_handler.process_request(req)
File "…/Trac-0.11.7-py2.3.egg/trac/versioncontrol/web_ui/log.py", line 145, in process_request
  for old_path, old_rev, old_chg in history(limit+1):
File "build/bdist.linux-i686/egg/tracext/hg/backend.py", line 769, in _get_history_1_3
File "/usr/lib/python2.3/site-packages/mercurial/cmdutil.py", line 1060, in walkchangerevs
  for rev, changefiles in changerevgen():
File "/usr/lib/python2.3/site-packages/mercurial/cmdutil.py", line 1058, in changerevgen
  yield j, change(j)[3]
File "/usr/lib/python2.3/site-packages/mercurial/context.py", line 86, in __getitem__
  return self.filectx(key)
File "/usr/lib/python2.3/site-packages/mercurial/context.py", line 152, in filectx
  fileid = self.filenode(path)
File "/usr/lib/python2.3/site-packages/mercurial/context.py", line 141, in filenode
  return self._fileinfo(path)[0]
File "/usr/lib/python2.3/site-packages/mercurial/context.py", line 136, in _fileinfo
  _('not found in manifest'))

Versions:

Trac:  	        0.11.7
Python: 	2.3.4 (#1, Aug 8 2009, 09:59:27) [GCC 3.4.6 20060404 (Red Hat 3.4.6-11)]
setuptools: 	0.6c7
SQLite: 	3.3.6
pysqlite: 	2.3.3
Genshi: 	0.5
Bitten: 	0.6dev
Mercurial: 	unknown
jQuery: 	1.2.6
$ rpm -q mercurial
mercurial-1.2-2.el4.1

This happens with my pycerberus repository when going to '/log/<dirname>'.

Attachments (0)

Change History (6)

comment:1 by Christian Boos, 9 years ago

Can't seem to reproduce, at least not with Trac 0.13dev and corresponding plugin.

I'll try to test with 0.11-stable and latest corresponding plugin, in the meantime if you could find out:

  • which version of the Mercurial plugin you're using
  • what path precisely triggers the problem (any folder? when specifying a non-existing one?) and at which revision?

in reply to:  1 comment:2 by Felix Schwarz, 9 years ago

Replying to cboos:

  • which version of the Mercurial plugin you're using

Latest 0.11 svn

  • what path precisely triggers the problem (any folder? when specifying a non-existing one?) and at which revision?

At least it was all folders I tried, for example /log/pycerberus

comment:3 by Christian Boos, 9 years ago

Sorry for the delay… didn't find the time yet to try to reproduce on 0.11 (do I still have that old version installed somewhere? ;-) ).

comment:4 by Felix Schwarz, 9 years ago

If you have an idea where I should I look (maybe it's just that we need to catch a different exception?), I could also investigate that myself.

comment:5 by anonymous, 9 years ago

The actual error message is LookupError: 3@b8809e14cbf8: not found in manifest, when getting the log from your current tip. But I don't know what this "3" stands for here, and the funny thing is that tip is actually 5b6862737407 (r115 in your repo) and b8809e14cbf8 is actually an older revision (r107 in your repo).

I resurrected my 0.11 environment, the corresponding plugin and tried with your repository, but still no luck in reproducing it. Ok, I didn't test with Mercurial 1.2. Maybe that could be the problem… Can you test with something more recent, at least 1.3.x?

Oh wait … this part of the code is full of version checks, and I see that the reported version is "unknown" - with that, I assume that you're running a development version of Mercurial, and then we jump into the "then" branch, for Mercurial > (1, 3, 99). Well, either hack those lines or really upgrade to at least a version of Mercurial which correctly advertises its version number, then it should work ;-)

Last edited 9 years ago by Christian Boos (previous) (diff)

in reply to:  5 comment:6 by Felix Schwarz, 9 years ago

Resolution: cantfix
Status: newclosed

Replying to anonymous:

Oh wait … this part of the code is full of version checks, and I see that the reported version is "unknown" - with that, I assume that you're running a development version of Mercurial, and then we jump into the "then" branch, for Mercurial > (1, 3, 99). Well, either hack those lines or really upgrade to at least a version of Mercurial which correctly advertises its version number, then it should work ;-)

spot on, cboos. I filed a bug for Fedora EPEL.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to as closed The owner will be changed from (none) to the specified user.

Add Comment


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