After a command which expects a response, the server sends however many of the following responses are appropriate. The server should not send data at other times (the current implementation may violate this principle in a few minor places, where the server is printing an error message and exiting--this should be investigated further).
Any set of responses always ends with error or ok. This indicates that the response is over.
The responses Checked-in, New-entry, Updated, Created, Update-existing, Merged, and Patched are refered to as file updating responses, because they change the status of a file in the working directory in some way. The responses Mode, Mod-time, and Checksum are referred to as file update modifying responses because they modify the next file updating response. In no case shall a file update modifying response apply to a file updating response other than the next one. Nor can the same file update modifying response occur twice for a given file updating response (if servers diagnose this problem, it may aid in detecting the case where clients send an update modifying response without following it by a file updating response).