From: Sam Vilain <sam@vilain.net>
To: git@vger.kernel.org
Cc: Nick Edelen <sirnot@gmail.com>,
"Shawn O. Pearce" <spearce@spearce.org>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Andreas Ericsson <exon@op5.se>,
Christian Couder <christian@couder.net>,
Jeff King <peff@peff.net>
Subject: [PATCH 0/7] [GSoC2009] Revision cache / git-daemon caching plan
Date: Fri, 5 Jun 2009 02:18:47 +1200 [thread overview]
Message-ID: <cover.1244125127.git.sam@vilain.net> (raw)
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
next reply other threads:[~2009-06-05 5:46 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-04 14:18 Sam Vilain [this message]
2009-06-04 14:05 ` [PATCH 3/7] rev-cache: add 'end' objects for caching 'uninteresting' lookups Sam Vilain
2009-06-04 14:05 ` [PATCH 4/7] rev-cache: allow multiple 'start' objects per index Sam Vilain
2009-06-04 14:05 ` [PATCH 2/7] rev-cache: add on-disk format for fast reachability lookup Sam Vilain
2009-06-04 14:05 ` [PATCH 1/7] revision-cache: define revision cache as simple list of revisions Sam Vilain
2009-06-05 19:28 ` Nicolas Pitre
2009-06-07 3:49 ` Sam Vilain
2009-06-07 5:43 ` Nicolas Pitre
2009-06-04 14:05 ` [PATCH 5/7] revision cache: maps of 'new' objects Sam Vilain
2009-06-04 14:05 ` [PATCH 6/7] revision cache: allow foreign 'start' commits Sam Vilain
2009-06-04 14:05 ` [PATCH 7/7] revision cache: be even stricter with sort order Sam Vilain
2009-06-05 16:56 ` [PATCH 0/7] [GSoC2009] Revision cache / git-daemon caching plan Jakub Narebski
2009-06-05 20:58 ` Nicolas Pitre
2009-06-07 4:01 ` Sam Vilain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1244125127.git.sam@vilain.net \
--to=sam@vilain.net \
--cc=Johannes.Schindelin@gmx.de \
--cc=christian@couder.net \
--cc=exon@op5.se \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=sirnot@gmail.com \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).