Comment 18 for bug 541626

Revision history for this message
termie (termie) wrote :

Walking through the traceback a bit, in find_ancestry in /Users/termie/.venv/nova/lib/python2.6/site-packages/bzrlib/index.py, it appears to only attempt to access that protected method when a key is missing, which in this case seems like it would be triggered by either (a) a dropped commit somewhere, (b) a dropped mapping somewhere, or (c) an expected condition where a key is considered missing. A key in this case is, I think, a commit id.

My gut instinct is that it is due to (a), somewhere along whatever conversion process or upstream manipulations a commit id has either changed or is no longer present (or if, for example, the conversion process, the export from git, produces a parent dependency on something that was never there in bzr, or vice-versa) and triggers a code path that is otherwise untested.

The brunt of it is that the code is trying to access a member method that doesn't exist, copying the implementation from the other class seems to work however I don't understand the code and data model well enough to say for certain that it would be the correct operation for this index type. Either way there is at very least a bug in that there is a code path that calls a non-implemented method and that should be resolved.