git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Cc: Andreas Krey <a.krey@gmx.de>
Subject: [PATCH v3 0/7] Removing the guesswork of HEAD in "clone"
Date: Tue, 17 Sep 2013 22:14:16 -0700	[thread overview]
Message-ID: <1379481263-29903-1-git-send-email-gitster@pobox.com> (raw)

This reworks the old idea from 2008 ($gmane/102039) to teach
upload-pack to say where symbolic refs are pointing at in the
initial ref advertisement as a new capability "symref", and allows
"git clone" to take advantage of that knowledge when deciding what
branch to point at with the HEAD of the newly created repository.

Credits for re-igniting the ember with an earlier patch series goes
to Andreas Krey.

 * The test-fix in [PATCH 1/7] is new this round.

 * The main patch to upload-pack.c [PATCH 3/7] has the fix I earlier
   sent.  The capability was called "sym" in the previous one, but
   it spells out "symref" in this round.

 * The patch on the receiving end [PATCH 6/7] now comes with an
   update to a test that was fixed in [PATCH 1/7].

This round seems to pass all the test, and the code is fairly
straight-forward, so it may be ready for at least 'pu' if not
'next'.

The series is to be applied on top of v1.8.4; between there and the
'master', there is some code reorganization to create connect.h out
of cache.h which may cause patch conflict, but it should be trivial
to fix when merging it up (queued as an evil merge near the tip of
the 'pu' branch).


Junio C Hamano (7):
  t5505: fix "set-head --auto with ambiguous HEAD" test
  upload-pack.c: do not pass confusing cb_data to mark_our_ref()
  upload-pack: send symbolic ref information as capability
  upload-pack: send non-HEAD symbolic refs
  connect.c: make parse_feature_value() static
  connect: annotate refs with their symref information in
    get_remote_head()
  clone: test the new HEAD detection logic

 cache.h           |  1 -
 connect.c         | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 t/t5505-remote.sh | 16 +++++---------
 t/t5601-clone.sh  | 11 ++++++++++
 upload-pack.c     | 51 ++++++++++++++++++++++++++++++++++++++------
 5 files changed, 123 insertions(+), 19 deletions(-)

-- 
1.8.4-585-g8d1dcaf

             reply	other threads:[~2013-09-18  5:14 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-18  5:14 Junio C Hamano [this message]
2013-09-18  5:14 ` [PATCH v3 1/7] t5505: fix "set-head --auto with ambiguous HEAD" test Junio C Hamano
2013-09-18  5:14 ` [PATCH v3 2/7] upload-pack.c: do not pass confusing cb_data to mark_our_ref() Junio C Hamano
2013-09-18  5:14 ` [PATCH v3 3/7] upload-pack: send symbolic ref information as capability Junio C Hamano
2013-09-18  5:14 ` [PATCH v3 4/7] upload-pack: send non-HEAD symbolic refs Junio C Hamano
2013-09-18  5:14 ` [PATCH v3 5/7] connect.c: make parse_feature_value() static Junio C Hamano
2013-09-18  5:14 ` [PATCH v3 6/7] connect: annotate refs with their symref information in get_remote_head() Junio C Hamano
2013-09-18  5:14 ` [PATCH v3 7/7] clone: test the new HEAD detection logic 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=1379481263-29903-1-git-send-email-gitster@pobox.com \
    --to=gitster@pobox.com \
    --cc=a.krey@gmx.de \
    --cc=git@vger.kernel.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 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).