Jonathan Nieder <jrnieder@xxxxxxxxx> writes: >> * I didn't see a response to Peff's convincing arguments that this >> should be a client-side feature rather than a server-side feature [1]. > > The client can't control the size of the ref advertisement. That is > the main motivation if I understood correctly. The answer to this question is more nuanced. With the current protocol, it is upload-pack who speaks first, so there is no way for the requestor to say "I am from an updated Git suite and understand how to tell you to give me limited set of refs", before upload-pack blasts 4MB of ref advertisement to it. If the side that fetches is potentially interested in finding out any and all refs, then an alternative solution would be to break the current protocol, open a separate port and have upload-pack-2 listen to it, sit silently to let the requestor speak first when it gets connection to that port. But if the primary thing you are interested in is to hide the references that: (1) the server side needs to keep track of for its own use; but (2) the requestors do not have to learn about from upload-pack, we can do so without breaking older requestors. That is what the early part of this series is about. We can view the last patch to add the allow-tip-sha1-in-want as an icing on the cake. It has the side effect of reducing the transfer overhead, because by hiding the internal refs, the server side will stop blasting 4MB of ref advertisements the requestors are not interested in, and that would be the primary observable outcome from the end-user's point of view (i.e. your "git pull --ff-only" will become a lot faster). -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html