From: mhagger@alum.mit.edu
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Jeff King <peff@peff.net>,
Drew Northup <drew.northup@maine.edu>,
Jakub Narebski <jnareb@gmail.com>,
Heiko Voigt <hvoigt@hvoigt.net>,
Johan Herland <johan@herland.net>,
Julian Phillips <julian@quantumfyre.co.uk>,
Michael Haggerty <mhagger@alum.mit.edu>
Subject: [PATCH 0/6] Handle extra_refs separately from ref_caches
Date: Tue, 13 Dec 2011 21:06:45 +0100 [thread overview]
Message-ID: <1323806811-5798-1-git-send-email-mhagger@alum.mit.edu> (raw)
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
next reply other threads:[~2011-12-13 20:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-13 20:06 mhagger [this message]
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
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=1323806811-5798-1-git-send-email-mhagger@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=drew.northup@maine.edu \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hvoigt@hvoigt.net \
--cc=jnareb@gmail.com \
--cc=johan@herland.net \
--cc=julian@quantumfyre.co.uk \
--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 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).