This is on ms/packet-err-check. This is a follow-up of my earlier work to allow partial CDN offloading of fetch v2 response packfiles, which had the issue of having to buffer (or suspend) progress and keepalive messages because we didn't have sideband until the packfile section started (as I wrote here [1]). These patches expand the sideband to the whole response, eliminating that problem. There are 8 patches total. I'm most interested in review of the first 4 patches for inclusion into Git - I think it would be useful for servers to be allowed to send progress messages and other notices whenever they need to, especially if other sections are added to the response (like in the case of CDN offloading). The other 4 patches are from my CDN offloading work, included here to show how this sideband-all feature could be used. But take note that they are all WIP and that I still haven't incorporated some of the design considerations from the earlier review [2]. [1] https://public-inbox.org/git/20181206232538.141378-1-jonathantanmy@xxxxxxxxxx/ [2] https://public-inbox.org/git/cover.1543879256.git.jonathantanmy@xxxxxxxxxx/ Jonathan Tan (8): pkt-line: introduce struct packet_writer sideband: reverse its dependency on pkt-line {fetch,upload}-pack: sideband v2 fetch response tests: define GIT_TEST_SIDEBAND_ALL Documentation: order protocol v2 sections Documentation: add Packfile URIs design doc upload-pack: refactor reading of pack-objects out upload-pack: send part of packfile response as uri Documentation/technical/packfile-uri.txt | 83 ++++++++ Documentation/technical/protocol-v2.txt | 32 ++- builtin/pack-objects.c | 48 +++++ fetch-pack.c | 22 +- pkt-line.c | 114 ++++++++-- pkt-line.h | 34 +++ sideband.c | 161 +++++++------- sideband.h | 15 +- t/README | 5 + t/lib-httpd/apache.conf | 1 + t/t5537-fetch-shallow.sh | 3 +- t/t5701-git-serve.sh | 2 +- t/t5702-protocol-v2.sh | 31 ++- upload-pack.c | 259 +++++++++++++++-------- 14 files changed, 607 insertions(+), 203 deletions(-) create mode 100644 Documentation/technical/packfile-uri.txt -- 2.19.0.271.gfe8321ec05.dirty