Junio C Hamano <gitster@xxxxxxxxx> writes: > Brandon Williams <bmwill@xxxxxxxxxx> writes: > >> One of the design goals of protocol-v2 is to improve the semantics of >> flush packets. Currently in protocol-v1, flush packets are used both to >> indicate a break in a list of packet lines as well as an indication that >> one side has finished speaking. This makes it particularly difficult >> to implement proxies as a proxy would need to completely understand git >> protocol instead of simply looking for a flush packet. > > Good ;-) Yes, this has been one of the largest gripe about the > smart-http support code we have. Hmph, strictly speaking, the "delim" does not have to be a part of how packetized stream is defined. As long as we stop abusing flush as "This is merely an end of one segment of what I say." and make it always mean "I am done speaking, it is your turn.", the application payload can define its own syntax to separate groups of packets. I do not mind having this "delim" thing defined at the protocol level too much, though.