www.delorie.com/gnu/docs/cvs/cvsclient_5.html   search  
Buy the book!

Untitled Document

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. The CVS client/server protocol

In the following, `\n' refers to a linefeed and `\t' refers to a horizontal tab; requests are what the client sends and responses are what the server sends. In general, the connection is governed by the client--the server does not send responses without first receiving requests to do so; see 5.9 Introduction to Responses for more details of this convention.

It is typical, early in the connection, for the client to transmit a Valid-responses request, containing all the responses it supports, followed by a valid-requests request, which elicits from the server a Valid-requests response containing all the requests it understands. In this way, the client and server each find out what the other supports before exchanging large amounts of data (such as file contents).

General protocol conventions:

5.1 Entries Lines  Transmitting RCS data
5.2 File Modes  Read, write, execute, and possibly more...
5.3 Conventions regarding transmission of file names  Conventions regarding filenames
5.4 File transmissions  How file contents are transmitted
5.5 Strings  Strings in various requests and responses
5.6 Dates  Times and dates

The protocol itself:

5.7 Request intro  General conventions relating to requests
5.8 Requests  List of requests
5.9 Introduction to Responses  General conventions relating to responses
5.10 The "pathname" in responses  
5.11 Responses  List of responses
5.12 Tags for the MT tagged text response  More details about the MT response

An example session, and some further observations:

5.13 Example  A conversation between client and server
5.14 Required versus optional parts of the protocol  Things not to omit from an implementation
5.15 Obsolete protocol elements  Former protocol features

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003