sketch of a new interface between loggerhead and bzrlib
Michael Hudson
michael.hudson at canonical.com
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]:
http://starship.python.net/crew/mwh/hacks/history2.py.txt
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!
Cheers,
mwh
[1] Pydoctor output at:
http://starship.python.net/crew/mwh/hacks/history2/history2.History.html
More information about the bazaar
mailing list