git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 0/7] Removing the guesswork of HEAD in "clone"

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 18, 2013, 05:14 UTC
Message-ID
<1379481263-29903-1-git-send-email-gitster@pobox.com>

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
Next: Junio C Hamano
Message 1 of 8 in “Removing the guesswork of HEAD in "clone"”
  1. 0/7 Removing the guesswork of HEAD in "clone"Junio C Hamano, Sep 18, 2013
  2. 1/7 t5505: fix "set-head --auto with ambiguous HEAD" testJunio C Hamano, Sep 18, 2013
  3. 2/7 upload-pack.c: do not pass confusing cb_data to mark_our_ref()Junio C Hamano, Sep 18, 2013
  4. 3/7 upload-pack: send symbolic ref information as capabilityJunio C Hamano, Sep 18, 2013
  5. 4/7 upload-pack: send non-HEAD symbolic refsJunio C Hamano, Sep 18, 2013
  6. 5/7 connect.c: make parse_feature_value() staticJunio C Hamano, Sep 18, 2013
  7. 6/7 connect: annotate refs with their symref information in get_remote_head()Junio C Hamano, Sep 18, 2013
  8. 7/7 clone: test the new HEAD detection logicJunio C Hamano, Sep 18, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.