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

[PATCH 0/3] Server side automatic tag following

From
Shawn O. Pearce <spearce@spearce.org>
Date
Mar 4, 2008, 02:35 UTC
Message-ID
<20080304023550.GL8410@spearce.org>

As promised earlier, this series adds automatic tag following on the server side, allowing git-fetch to grab tags over a single connection rather than opening a secondary one for the tags we cannot get via my 'sp/fetch-optim' branch.

  1)  git-pack-objects: Automatically pack annotated tags if object was packed
  2)  Teach fetch-pack/upload-pack about --auto-follow-tags
  3)  Teach git-fetch to exploit server side automatic tag following
 Documentation/git-fetch-pack.txt   |    8 +++-
 Documentation/git-pack-objects.txt |    5 ++
 builtin-fetch-pack.c               |    9 +++-
 builtin-fetch.c                    |    3 +
 builtin-pack-objects.c             |   24 +++++++++-
 fetch-pack.h                       |    3 +-
 t/t5305-autofollow-tag.sh          |   84 ++++++++++++++++++++++++++++++++++++
 t/t5503-tagfollow.sh               |   26 +++++++++++
 transport.c                        |    5 ++
 transport.h                        |    3 +
 upload-pack.c                      |   10 +++-
 11 files changed, 172 insertions(+), 8 deletions(-)

We may still want to support multiple request/pack pairs on a single connection, but I think that's more work than this is and may not offer a worthwhile pay-off. Usually the client knows what branches it wants when it connects, and if it wants tag data. That's all we need to know on the server to generate an optimal packfile, and said packfile is the only thing the client needs to update itself.

The multiple request/pack pairs is actually better implemented for users like X.org where you want to update many repositories over a single SSH connection. For that we need git-fetch to multiplex over multiple repositories, not just git-upload-pack.

-- 
Shawn.
Message 1 of 1 in “Server side automatic tag following”
  1. 0/3 Server side automatic tag followingShawn O. Pearce, Mar 4, 2008

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.