On 4/30/2021 1:42 AM, Junio C Hamano wrote: > Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes: > >> Here are patches for push negotiation. The basic idea is that we can >> reuse part of the fetch protocol (and code) to find out what is in >> common between the client and server, and then use that information to >> further narrow the objects sent in the packfile during a push. >> >> Patch 1 is a bug fix that probably should be merged even if the rest >> aren't. Patches 2-4 are refactorings in preparation for the future >> patches. Patches 5-6 contain the actual logic and documentation. >> >> I have written more about it in my prior work [1], although the commit >> messages and documentation in patches 5-6 should be enough to explain >> what's going on. (If they're not, feel free to make review comments.) >> >> The main change from [1] is that the client-side code that used to be in >> builtin/fetch-pack.c is now in builtin/fetch.c, because I realized that >> builtin/fetch-pack.c does not support HTTP. Other than that, all the >> "what hasn't been done yet" items have been done except for statistics >> in the commit message. >> >> [1] https://lore.kernel.org/git/20210218012100.928957-1-jonathantanmy@xxxxxxxxxx/ > > So... anybody else wants to review this and give it a-OK? I put this on my calendar for Monday morning. I hope that's not too long to wait. Thanks, -Stolee