← Back to team overview

dulwich-users team mailing list archive

File organization / length

 

I'm having a hard time analyzing the dulwich code. In the projects
I've worked on in the past, anything over a few hundred lines of code
was a candidate for being split into a package. In particular, the
repo.py module is at >1,200 lines right now. It's really hard for me
to read through that to find the important bits. It would be nice to
make more use of packages as namespaces to make it easier to find
specific bits.

Maybe something like dulwich.repo.disk|refs|util ? Also,
object_store.py is getting a little long-winded...

Taking a step back, what I am looking at adding to dulwich are:
 * Support for repository/object_store objects to consult a memcached
cache for retrieving data
 * Support for using a PostgreSQL database as an object_store (repository?)

Trying to find the relevant bits that would need to be updated to
allow things like this is really difficult with the flat namespace
that is currently used. I would appreciate some way of quickly being
able to look at base implementations as opposed to specific details
(pack, etc), and not having utility functions all jumbled in the
middle of everything.

PS: I'm not advocating adding the the PostgreSQL bits to dulwich, just
saying it's difficult to discover the flow of the API to know how best
to hook things.
-- 
Thanks,

David Blewett