Revision cache / git-daemon caching plan
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest7 patches 6 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/7 | revision-cache: define revision cache as simple list of revisionsDocumentation/ | +260 | 3 replies | |
| 2/7 | rev-cache: add on-disk format for fast reachability lookupDocumentation/ | +20 | 0 replies | |
| 3/7 | rev-cache: add 'end' objects for caching 'uninteresting' lookupsDocumentation/ | +65 | 0 replies | |
| 4/7 | rev-cache: allow multiple 'start' objects per indexDocumentation/ | +73 | 0 replies | |
| 5/7 | revision cache: maps of 'new' objectsDocumentation/ | +23 | 0 replies | |
| 6/7 | revision cache: allow foreign 'start' commitsDocumentation/ | +4 | 0 replies | |
| 7/7 | revision cache: be even stricter with sort orderDocumentation/ | +54 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/7] [GSoC2009] Revision cache / git-daemon caching plan
This patch series describes the structure of the object list cache on-disk format. It is built successively from a very simple design - just an object list - to a version that allows for as many rev-list operations to be accelerated as possible, and potentially immediate startup of full clone operations in the common case; ie skipping the "Counting Objects" and "Compressing Objects" phase once a matching index is found.
The plan will be to implement each step incrementally, with a test-*.c file along the way which tests the API provided by the revision cache API. While the revision cache format will change along the way, this will not require an index format deprecation cycle, as integration with the rest of git will not happen until the format is settled.
The plan is to aim for one of these API milestones completed per week. When complete, each commit will contain tests for the level of cache that it delivers. Later milestones include joining the dots - integrating with the 'rev-list' machinery and most importantly, 'pack-objects'.
Errata: the 'object list' and 'contents hash' will probably be re-worked to keep a separate SHA-1 and topological index list, to re-use existing fan-out code. This will be incorporated into the next version.
Sam Vilain (7):
revision-cache: define revision cache as simple list of revisions
rev-cache: add on-disk format for fast reachability lookup
rev-cache: add 'end' objects for caching 'uninteresting' lookups
rev-cache: allow multiple 'start' objects per index revision cache: maps of 'new' objects
revision cache: allow foreign 'start' commits
revision cache: be even stricter with sort order
Documentation/technical/revision-cache.txt | 416 ++++++++++++++++++++++++++++ 1 files changed, 416 insertions(+), 0 deletions(-) create mode 100644 Documentation/technical/revision-cache.txt