git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] Handle extra_refs separately from ref_caches
@ 2011-12-13 20:06 mhagger
  2011-12-13 20:06 ` [PATCH 1/6] t5519: push two branches to alternate repo mhagger
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: mhagger @ 2011-12-13 20:06 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: git, Jeff King, Drew Northup, Jakub Narebski, Heiko Voigt,
	Johan Herland, Julian Phillips, Michael Haggerty

From: Michael Haggerty <mhagger@alum.mit.edu>

Extra refs don't have much to do with real references, and in fact
they have to be handled differently.  For example, they do not support
flags, they might not have unique names (indeed, the names are rather
meaningless), and they are only ever iterated over, never looked up.
So seemingly innocent things that one might want to do with real
references, like check for conflicting duplicates, must not be done
for extra refs.

This patch series creates a new linked-list data structure for the
extra refs, separates iteration over the extra refs into a new
function, and changes a test to actually create multiple extra refs
with the same name.

This patch series applies on top of master.  If this approach is
selected, then the ref-api-D series will have to be rebased on top of
it and touched up to avoid the problems that it has with duplicate
extra refs.

By the way, I have been carrying around the CC list of this email for
quite a while.  If you are tired of being spammed with my patch
series, send me a private email and I will be happy to remove you from
future mailings.

Michael Haggerty (6):
  t5519: push two branches to alternate repo
  add_extra_ref(): remove flag argument
  Extract a function do_for_each_extra_ref()
  Store extra_refs in a separate data structure
  Omit extra_refs except when iterating using for_each_ref()
  do_for_each_extra_ref(): simplify signature

 builtin/clone.c            |    4 ++--
 builtin/receive-pack.c     |    2 +-
 refs.c                     |   44 ++++++++++++++++++++++++++++++++++----------
 refs.h                     |    2 +-
 t/t5519-push-alternates.sh |   10 +++++++++-
 5 files changed, 47 insertions(+), 15 deletions(-)

-- 
1.7.8

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

end of thread, other threads:[~2011-12-13 20:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-13 20:06 [PATCH 0/6] Handle extra_refs separately from ref_caches mhagger
2011-12-13 20:06 ` [PATCH 1/6] t5519: push two branches to alternate repo mhagger
2011-12-13 20:06 ` [PATCH 2/6] add_extra_ref(): remove flag argument mhagger
2011-12-13 20:06 ` [PATCH 3/6] Extract a function do_for_each_extra_ref() mhagger
2011-12-13 20:06 ` [PATCH 4/6] Store extra_refs in a separate data structure mhagger
2011-12-13 20:06 ` [PATCH 5/6] Omit extra_refs except when iterating using for_each_ref() mhagger
2011-12-13 20:06 ` [PATCH 6/6] do_for_each_extra_ref(): simplify signature mhagger

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).