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

upload-pack/ls-remote: showing non-HEAD symbolic refs?

From
Josh Triplett <josh@joshtriplett.org>
Date
Aug 16, 2016, 16:18 UTC
Message-ID
<20160816161838.klvjhhoxsftvkfmd@x>

Commit 5e7dcad771cb873e278a0571b46910d7c32e2f6c in September 2013 added support to upload-pack to show the symbolic target of non-HEAD symbolic refs. However, commit d007dbf7d6d647dbcf0f357545f43f36dec46f3b in November 2013 reverted that, because it used a capability to transmit the information, and capabilities have a limited size (limited by the pkt-line format which can't send lines longer than 64k) and can't transmit an arbitrary number of symrefs.

(Incidentally, couldn't the same problem occur if the HEAD points to a long enough path to exceed 64k? Unlikely to arise in practice, but theoretically possible for a constructed repository. Not a major problem at the moment, since send-pack doesn't seem to support *sending* symbolic refs, but it would become a problem given any mechanism to send symbolic refs to the server.)

I'd like to be able to see the targets of non-HEAD symbolic refs for a repository (symbolic refs under refs/). I'm interested in extending upload-pack to expose those somehow. What seems like a sensible format to do so?

Would it make sense to advertise a new capability for symbolic ref targets, which would allow the client to send back a dedicated request for the targets of all symrefs?

- Josh Triplett
Next: Jeff King
Message 1 of 12 in “upload-pack/ls-remote: showing non-HEAD symbolic refs?”
  1. Josh TriplettAug 16, 2016
  2. Jeff KingAug 16, 2016
  3. Josh TriplettAug 16, 2016
  4. Jeff KingAug 16, 2016
  5. Stefan BellerAug 16, 2016
  6. Josh TriplettAug 16, 2016
  7. Josh TriplettAug 16, 2016
  8. Jeff KingAug 16, 2016
  9. Josh TriplettAug 16, 2016
  10. Jeff KingAug 16, 2016
  11. Josh TriplettAug 16, 2016
  12. Jeff KingAug 19, 2016

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.