If I could recommend only one book to read, it would "Modern C++ Design" by A.Alexandrescu. Of course, you need to read many other books just to understand why that one is so important. However, it is worth any effort. The book gives you an incredible power. It does not teach you how to code; instead it teaches you how to think.
The description of CVS protocol continues. It is very hard to translate the "CVS Client/Server" from GNU language to HUMAN one.
The difficult part of MyCVS - the implementation of middle-level CVS commands - started today. As usual, little pieces of vital information are disseminated over 22 pages of "CVS Client/Server" document. Hey, guys! All you need is a little self-paced training in the structured writing. Start from http://www.stanford.edu/~rhorn/ , and read "Structured Writing at Twenty-five" and "Structured Writing as a Paradigm". For an abstract of structured writing concepts search Internet for an article containing keywords "Information Mapping" and "sphygmomanometer", and read the part 5.
I'm searching for a principle of CVS requests classification.
I'm still hope to find something common in CVS requests. May be, songs of Bob Marley will help me. Jah!
Digging any available CVS documentation on the Internet. No clues...
I looked at every option of each CVS user's command and found
that some options are controlling client behavior, while other ones are
controlling server behavior. In most cases one command has both client
and server options!
In fact, things are even worse: not all global options are passing to
server!
I so many times heard about "advantage" of open-source development: the code is "under control of users", so "any problem" is resolving "quickly". You heard it too. Do not believe to liars sponsored by RedHat. Look at CVS source codes. (You never saw them, right? Nobody did). Just search for a string FIXME and count the number of known problems not fixed yet. You will be surprised! By my estimation, the number of CVS users is more than 10000. Who and when will fix things? Last change was in September 2000. My congratulations to Free Software Foundation!
The MyCVS class processing CVS file entries started. After my yesterday attempt to read CVS 1.11 source code, I stay away from it. Slaves of Emacs cannot write clear code.
Nothing.
I made an addition to CVS protocol description: how CVS requests are mapping to user's commands. There are 6 CVS requests that are not related with any command.
MyCVS entry browser class is in development.
Reading "(More) Exceptional C++" by Herb Sutter,
maintainer of Internet site Guru Of The Week.
In February and March, I can spend only 15-45 minutes per day for MyCVS
development. Of course, it is not enough - at least a hour per day is required.
Now I'm planning MyCVS Lite with reduced command set and
limited support of authentication modes.
MyCVS native commands separated from CVS commands.
MyCVS now understands global CVS options related to server.
The middle-level support for the command log
added to MyCVS.
Internal release of MyCVS. The program size is 56 K.
Draft MyCVS home page created.
The middle-level support for the command export
added to MyCVS.