Jakub Narebski <jnareb@xxxxxxxxx> wrote: > So do I understand correctly that capabilities are governed by the > following generic rules: > > 1. Server sends space separated list of capabilities it support. It > MUST NOT send capabilities it *does not* support. It MAY NOT send > "include-tag" if there are no tag objects (or is it SHOULD NOT?). The server SHOULD send include-tag, if it supports it, irregardless of whether or not there are tags available. Its just easier to code the server to send the R@!* line up front based on the software version, and not the repository content. > 2. Client sends space separated list of capabilities it wants. It SHOULD > (or perhaps it is MAY?) send subset of server capabilities, i.e do > not send capabilities served does not advertise. It SHOULD send a subset of server capabilities. > 3. Server MUST ignore capabilities it does not understand. True. > Server MUST NOT ignore capabilities (or SHOULD NOT only?) that > client requested and server advertised. True, MUST NOT. Otherwise you will have protocol errors. However, include-tag can be SHOULD NOT... since the client must be able to recover from it anyway. > I know that client MUST send only maximum of one of "side-band" and > "side-band-64k", but how should server reacts if client sends both? > Should it use "side-band-64k"? MUST favor side-band-64k if client requests both. -- Shawn. -- 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