sketch of a new interface between loggerhead and bzrlib

Michael Hudson michael.hudson at
Thu Jun 21 13:19:11 BST 2007

This thread is aiming to be a bit more technical than the last one I
started :)

One of the reliability issues we have with loggerhead/codebrowse comes
from its use of a bdb database to cache information about revisions.
While I could probably change this without massive disruption, I think
it's time to sit down and think about the interface between loggerhead
and Bazaar.

I did just that and came up with this sketch of a module[1]:

Do the wonderful and wise in here think this interface is reasonable?
Implementable?  I'm reasonably sure it's featureful enough to provide
all the functionality of today's loggerhead, but maybe I'm being blind
here, so I'd appreciate comments on that too.

There a couple of open issues:

1) This interface is designed to hide all of bzrlib, whereas it could
   just provide getReivisionInfo.  I think it's just about worth the
   extra effort adding things like getFileText to have the entire
   interface in one file.

2) There are some things you'd probably do differently if you were
   expecting this data to be cached in a relational DB.  I think it's
   probably sensible design the most convenient interface for
   loggerhead, and worry about storage after that.

Thanks in advance for your comments!


[1] Pydoctor output at:

More information about the bazaar mailing list