From: Junio C Hamano <gitster@pobox.com>
To: "Philip Oakley" <philipoakley@iee.org>
Cc: "Jeff King" <peff@peff.net>, "René Scharfe" <l.s.r@web.de>,
"Git Mailing List" <git@vger.kernel.org>
Subject: Re: [PATCH] use child_process_init() to initialize struct child_process variables
Date: Fri, 31 Oct 2014 14:48:17 -0700 [thread overview]
Message-ID: <xmqqvbmzsyfy.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <FEC7DC4C920D4F97B5F165B10BC564D2@PhilipOakley> (Philip Oakley's message of "Fri, 31 Oct 2014 00:19:20 -0000")
"Philip Oakley" <philipoakley@iee.org> writes:
> As a side project (slow time) I've been looking at the loss of the
> HEAD symbolic ref when multiple heads are bundled that point at the
> same rev. That is, when the HEAD detection heuristic fails.
It think you are talking about the logic used by the "clone", where
- if there is only one branch ref that matches the value of HEAD,
that is the branch;
- if there are more than one refs that match the value of HEAD,
and if one of them is 'master', then that is the branch;
- if there are more than one refs that match the value of HEAD,
and if none of them is 'master', then pick the earliest one.
So you would be in trouble _if_ you have two refs pointing at the
same commit, one of them being 'master', and the current branch is
the other ref. All other cases you shouldn't have to change the
file format and have older client understand which branch is the
current one.
Programs that read a pack data stream unpack-objects were originally
designed to ignore cruft after the pack data stream ends, and
because the bundle file format ends with pack data stream, you
should have been able to append extra information at the end without
breaking older clients. Alas, this principle is still true for
unpack-objects, but index-pack broke it fairly early on, and we use
the latter to deal with bundles, so we cannot just tuck extra info
at the end of an existing bundle. You'd instead need a new option
to create a bundle that cannot be read by existing clients X-<.
next prev parent reply other threads:[~2014-10-31 21:48 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-28 20:52 [PATCH] use child_process_init() to initialize struct child_process variables René Scharfe
2014-10-28 21:58 ` mike.gorchak.qnx
2014-10-29 17:21 ` Jeff King
2014-10-29 19:16 ` Junio C Hamano
2014-10-30 18:07 ` Junio C Hamano
2014-10-30 21:25 ` Jeff King
2014-10-30 18:08 ` [PATCH] bundle: split out a helper function to compute and write prerequisites Junio C Hamano
2014-10-30 21:26 ` Jeff King
2014-10-30 21:35 ` [PATCH] use child_process_init() to initialize struct child_process variables Jeff King
2014-10-31 0:19 ` Philip Oakley
2014-10-31 21:48 ` Junio C Hamano [this message]
2014-11-01 3:33 ` Jeff King
2014-11-02 22:54 ` Philip Oakley
2014-11-03 18:26 ` Junio C Hamano
2014-11-03 22:04 ` Jeff King
2014-11-03 23:42 ` Junio C Hamano
2014-11-04 21:56 ` Junio C Hamano
2014-11-04 23:32 ` Jeff King
2014-11-05 0:32 ` Junio C Hamano
2014-11-05 13:41 ` Philip Oakley
2014-11-05 13:35 ` Philip Oakley
2014-11-05 19:35 ` Jeff King
2014-11-05 23:50 ` Philip Oakley
2014-11-09 13:49 ` René Scharfe
2014-11-10 7:14 ` Jeff King
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=xmqqvbmzsyfy.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=l.s.r@web.de \
--cc=peff@peff.net \
--cc=philipoakley@iee.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 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.