threads / patch / 12475

patch, 3 partsServer side automatic tag following

Subject: [PATCH 0/3] Server side automatic tag following

## tl;dr

One message between Mar 4, 2008 and Mar 4, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Shawn O. Pearce· Mar 4, 2008, 02:35 UTC · lore

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.

← back to recent threads