> No, the "negotiation" phase only happens when there are objects to > fetch, and the client and server have to agree on which ones. That's not > happening at all in your case (so --negotiation-tip won't have any > effect). Ah, I see. > The feature I was thinking of is that in Git's "v2" protocol, the client > gets to speak first, and so it can say "btw, I am only interested in > these refs". v2 became the default in git v2.29 (of course both client > and server have to support it, but kernel.org is definitely up to date > there). > > You can see it in action with something like this: > > GIT_TRACE_PACKET=1 git fetch --no-tags origin master > > The "ref-prefix" lines are the client telling the server which prefixes > it's interested in (we have to ask for several variants because "master" > from the command line gets fully qualified based on what the other side > offers). Try it without --no-tags and you'll see a wider ref-prefix > request. If you try: Thanks. I tried this and indeed without --no-tags there is an additional line > 17:41:29.163545 pkt-line.c:86 packet: git< ref-prefix refs/tags/ I understand now that this is why the server is telling me about all those tags. I had thought it would only need to tell me about tags that point to something reachable from master, and was confused why the server was advertising all the tags. Thanks, Ronan