From: mhagger@alum.mit.edu
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Jeff King <peff@peff.net>,
Jakub Narebski <jnareb@gmail.com>,
Heiko Voigt <hvoigt@hvoigt.net>,
Johan Herland <johan@herland.net>,
Michael Haggerty <mhagger@alum.mit.edu>
Subject: [PATCH 00/15] Hierarchical reference cache (once again)
Date: Tue, 10 Apr 2012 07:30:12 +0200 [thread overview]
Message-ID: <1334035827-20331-1-git-send-email-mhagger@alum.mit.edu> (raw)
From: Michael Haggerty <mhagger@alum.mit.edu>
Here is another installment of the "hierarchical refs" saga. This
patch series (obviously) builds on the changes in master that removed
extra_refs. This group of patches does some cleanup then makes the
transition to storing reference caches hierarchically. It also
includes the first benefit of the hierarchical storage scheme, namely
that searching for individual references becomes more efficient
(though as yet all references are read into the cache if any
references are needed, so the benefit is limited).
I will have limited Internet connectivity for the next week, so I
apologize in advance if I don't react quickly to feedback. But I
wanted to throw at least part of this reworked "ref-api" patch series
back into the ring while the new release cycle is still fresh.
Michael Haggerty (15):
refs.c: reorder definitions more logically
refs: manage current_ref within do_one_ref()
do_for_each_ref_in_array(): new function
do_for_each_ref_in_arrays(): new function
repack_without_ref(): reimplement using do_for_each_ref_in_array()
names_conflict(): new function, extracted from is_refname_available()
names_conflict(): simplify implementation
is_refname_available(): reimplement using do_for_each_ref_in_array()
free_ref_entry(): new function
check_refname_component(): return 0 for zero-length components
struct ref_entry: nest the value part in a union
refs.c: rename ref_array -> ref_dir
sort_ref_dir(): simplify logic
refs: store references hierarchically
do_for_each_ref(): only iterate over the subtree that was requested
refs.c | 1036 +++++++++++++++++++++++++++++++++++++++++-----------------------
refs.h | 7 +-
2 files changed, 670 insertions(+), 373 deletions(-)
--
1.7.10
next reply other threads:[~2012-04-10 5:31 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-10 5:30 mhagger [this message]
2012-04-10 5:30 ` [PATCH 01/15] refs.c: reorder definitions more logically mhagger
2012-04-10 5:30 ` [PATCH 02/15] refs: manage current_ref within do_one_ref() mhagger
2012-04-10 5:30 ` [PATCH 03/15] do_for_each_ref_in_array(): new function mhagger
2012-04-10 5:30 ` [PATCH 04/15] do_for_each_ref_in_arrays(): " mhagger
2012-04-10 5:30 ` [PATCH 05/15] repack_without_ref(): reimplement using do_for_each_ref_in_array() mhagger
2012-04-10 5:30 ` [PATCH 06/15] names_conflict(): new function, extracted from is_refname_available() mhagger
2012-04-10 5:30 ` [PATCH 07/15] names_conflict(): simplify implementation mhagger
2012-04-10 5:30 ` [PATCH 08/15] is_refname_available(): reimplement using do_for_each_ref_in_array() mhagger
2012-04-10 5:30 ` [PATCH 09/15] free_ref_entry(): new function mhagger
2012-04-10 5:30 ` [PATCH 10/15] check_refname_component(): return 0 for zero-length components mhagger
2012-04-10 5:30 ` [PATCH 11/15] struct ref_entry: nest the value part in a union mhagger
2012-04-10 5:30 ` [PATCH 12/15] refs.c: rename ref_array -> ref_dir mhagger
2012-04-10 5:30 ` [PATCH 13/15] sort_ref_dir(): simplify logic mhagger
2012-04-10 5:30 ` [PATCH 14/15] refs: store references hierarchically mhagger
2012-04-10 5:30 ` [PATCH 15/15] do_for_each_ref(): only iterate over the subtree that was requested mhagger
2012-04-12 6:44 ` [PATCH 00/15] Hierarchical reference cache (once again) Jeff King
2012-04-12 15:36 ` Junio C Hamano
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=1334035827-20331-1-git-send-email-mhagger@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hvoigt@hvoigt.net \
--cc=jnareb@gmail.com \
--cc=johan@herland.net \
--cc=peff@peff.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.