Edgewall Software

Version 1 (modified by Lele Gaifax <lele@…>, 15 years ago) ( diff )

First cut

Darcs specific cache

For performance reasons, TracDarcs heavily relies on a specialized CachedRepository that basically reimplements the Subversion versioned tree for the tracked darcs repository: once a darcs changeset gets processed, the trac environment won't need to access the repository anymore (this is slightly simplified, as the content of each file at a given revision gets computed and cached only at its first request).

It does that by keeping a few extra tables (as of version 0.6, there are four specific darcs_xxx tables) extending/replacing the standard trac database schema. This is far from perfect, but it does the (tricky!) work reasonably well: all the merits goes to K.S.Sreeram who reimplemented the core for version 0.4.

As I'm planning to implement MultipleRepositorySupport for 0.7, I'm trying to figure out a better integration with the standard schema, avoiding table/data duplication.

Note: See TracWiki for help on using the wiki.