All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/15] Hierarchical reference cache (once again)
@ 2012-04-10  5:30 mhagger
  2012-04-10  5:30 ` [PATCH 01/15] refs.c: reorder definitions more logically mhagger
                   ` (15 more replies)
  0 siblings, 16 replies; 18+ messages in thread
From: mhagger @ 2012-04-10  5:30 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: git, Jeff King, Jakub Narebski, Heiko Voigt, Johan Herland,
	Michael Haggerty

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2012-04-12 15:36 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-10  5:30 [PATCH 00/15] Hierarchical reference cache (once again) mhagger
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

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.