Applix747 writes:
>
> Is there a description somewhere of what actions CVS exeutes on the
> server
> and client for various commands?
There is some documentation in doc/cvsclient.texi. Otherwise, use the
source, Luke.
> E.g., for the "update" command, how does CVS decide which client files
> differ from server files? Does it require client-server traffic for
> each file?
The first step is to compare the file's current timestamp with the one
stored in the CVS/Entries file. If they're the same, the file is
presumed to be unchanged from the version that was checked out and the
client simply tells the server that. Otherwise, the client sends the
file contents to the server for further processing.
> E.g., when updating a client file, what does CVS do? Does it resolve a
> series
> of "diffs" on a base file stored in the server? Is this slow if the
> client
> file is many revisions out of date?
If the client file is unmodified from a repository revision, the server
simply sends the diff between the current client revision and the
desired revision. If the file may have been modified, the server does a
diff3 of the revision that was checked out, the current client file, and
the desired revision and then sends the client a diff (if the file was
not, in fact, modified) or a new version.
-Larry Jones
Apparently I was misinformed. -- Calvin