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

[PATCH 0/5] work around "transport-take-over" hack

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 7, 2013, 23:30 UTC
Message-ID
<1375918242-4655-1-git-send-email-gitster@pobox.com>

"git fetch" sometimes needs to make a real request to the transport after a single "fetch_refs" request, in order to follow tags that the other end should have sent as part of the primary transfer with "follow-tags" request.

However, a transport that defines "connect" has a gross hack that destroys its internal state to render it unusable after processing a single request, breaking this.

This is my attempt to work it around. I am not too proud of it, but after trying two other approaches to fix it closer to the real cause (i.e. the implementation of Git-aware transport helper) and seeing that both of them ended up being even less appealing and not worth posting, I think this is probably the best fix to the issue.

Junio C Hamano (5):
  t5802: add test for connect helper
  fetch: rename file-scope global "transport" to "gtransport"
  fetch: refactor code that prepares a transport
  fetch: refactor code that fetches leftover tags
  fetch: work around "transport-take-over" hack
 builtin/fetch.c           | 85 ++++++++++++++++++++++++++++++-----------------
 t/t5802-connect-helper.sh | 72 +++++++++++++++++++++++++++++++++++++++
 transport.c               |  2 ++
 transport.h               |  6 ++++
 4 files changed, 134 insertions(+), 31 deletions(-)
 create mode 100755 t/t5802-connect-helper.sh
-- 
1.8.4-rc1-210-gf6d87e2
Next: Junio C Hamano
Message 1 of 6 in “work around "transport-take-over" hack”
  1. 0/5 work around "transport-take-over" hackJunio C Hamano, Aug 7, 2013
  2. 1/5 t5802: add test for connect helperJunio C Hamano, Aug 7, 2013
  3. 2/5 fetch: rename file-scope global "transport" to "gtransport"Junio C Hamano, Aug 7, 2013
  4. 3/5 fetch: refactor code that prepares a transportJunio C Hamano, Aug 7, 2013
  5. 4/5 fetch: refactor code that fetches leftover tagsJunio C Hamano, Aug 7, 2013
  6. 5/5 fetch: work around "transport-take-over" hackJunio C Hamano, Aug 7, 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.