Hi everyone,
I've been working on a revision caching system (with gsoc), and would be curious to get some feedback on it and it's (potential) installation into git. I believe the core mechanics of it are largely finished, but integration is still rather rough. I've tried to divide it into 4 self-contained patches -- each representing a working implemenation with incremental featuresets. The patchset is seperated as:
* basic - the simplest working revision cache implementation, with full docs and relavant tests
* objects - non-commit object caching + tests
* misc - extra (maintenance) features and refactor of object caching (requiring slight modification of some object structures)
* integration - (proof of concept) integration of rev-cache into rev-list, along with extensive tests
I'm afraid the first patch is rather big, as the topo-data encoding scheme is a smidgen complicated, but its effect on git's internals is very small -- it's less of a patch and more an addition of a few files. I know you guys prefer inline patches, but in view of the patchfile size I decided it'd be more prudent to include that seperately as an attachment. The only other caveat I can think of is that the tests currently require python, although that could change in future.
So yeah, I hope you find it interesting. Apologies if I'm breaking protocol...
- Nick