1. Introduction to this Manual
This document is intended to be used as a training guide to the CVS system.
It is expected that the presenter of this material will have some experience
with CVS, and is presenting the information in this manual to non CVS users.
The document has an associated set of overhead slides that can be used in
conjunction with the manual.
The expected audience of the training material is as follows:
- Software developers intending to use CVS in their day-to-day development
process. These people need to know how to check files in and out of CVS and
how the basic mechanics of CVS operate. They do not act as configuration
management staff.
- To present material in this manual to this audience, the trainer
should:
- Present sections 2 and 3, briefly in a single session. Do not expect to
field any significant level of questions from the audience. This should take
approximately 30 minutes.
- Present section 4 in a little more detail. Expect some questions to be
asked on this section.
- Present section 5, probably in the same session as section 4. Software
developers will ask a number of questions at this point. Ensure that all of
the concepts in this section are established clearly in the minds of the
audience before moving on.
- During the next session, present section 6. Expect some detailed
questions during this session. Do not be overly concerned if the audience do
not fully understand all of the concepts in this session -- some of these are
best learned by trial and error. This section can also (or later) be used as a
"refresher course" for development staff who have previously used CVS and/or
previously been exposed to the material in section 5, and so be prepared to
re-run this session at a later date. It may be the case in your organisation
that only senior members of the development staff (team leaders, etc) need to
fully understand all of the details of this section.
- Do not present sections 7, 8, or 9.
- In a later session, if your site uses tkCVS (IF NOT WHY NOT?), present
section 10. This is best presented to staff who have some familiarity with the
basic concepts of CVS. It may also be used as material to present to staff who
have no knowledge of CVS, and wish an easy way to use CVS without learning all
of the command line concepts.
- If your site uses emacs, present section 11. I am yet to encounter a CVS
site that uses emacs-VC without some modifications, however, and so this may be
of limited use to the developers.
- If your site uses a remote implementation of CVS, present section 12
briefly.
- Configuration Management staff, expecting a deeper understanding of the
methods and skills they need to learn in order to maintain a software
repository. In some cases these staff are also software developers, although
this assumption is not made in this manual.
- To present material in this manual to this audience, the trainer
should:
- Present sections 2, and 3, briefly in a single session. Do not expect to
field any significant level of questions from the audience. This should take
approximately 30 minutes.
- Present sections 4 and 5 in a little more detail. Expect some questions
to be asked on this section, however the audience attitude may be "we know all
of this, keep moving!". Be flexible in your presentation method on this -- the
audience may well have a different idea of what facilities the development
staff at their site have or should be allowed access to.
- During the next session, present section 6. Expect some detailed
questions during this session. Configuration Management staff should expect to
have a fairly detailed knowledge of all of the concepts in this section before
you progress any further. Be prepared to break the course at this point,
allowing the audience to perhaps examine the CVS man page in more detail, and
then to bring back further questions to be fielded at the start of the next
session.
- In the next session, present section 7. Be prepared to refer the audience
to the appropriate sections of the CVS man page, in particular the man page
section on "cvs import" which is covered in this section.
- Note that the CVS man page description of the import function lacks
description on how vendor branches actually work, and the use of the vendor
branch and release tags. Also, the section on magic branch tags is not covered
well in the CVS manual. Be prepared to go into some detail explaining these
concepts.
- Present section 8. This section deals mostly with the concepts of
software configuration management and deals somewhat with methods to implement
these concepts. It may take some tailoring to the audience that you are
presenting it to, otherwise present these as general concepts that are
applicable across organisations, rather than specific rules that need to be
applied in any particular organisation. Refer the audience to specific
information on the implementation of their own CM requirements (MIL-STD-973 may
be a starting point for an audience in the defence industry).
- Present some or all of section 9 as appropriate. This should be
relatively quick depending on whether they have existing SCCS or RCS
repositories that need to be converted to CVS. There are of course plenty of
consulting opportunities in this area.
- In a later session, if your site uses tkCVS (IF NOT WHY NOT?), present
section 10. This is best presented to staff who have some familiarity with the
basic concepts of CVS. It may also be used as material to present to staff who
have no knowledge of CVS, and wish an easy way to use CVS without learning all
of the command line concepts.
- If your site uses emacs, present section 11. I am yet to encounter a CVS
site that uses emacs-VC without some modifications, however, and so this may be
of limited use to the developers.
- If your site uses a remote implementation of CVS, present section 12.
Sections 9 through 12 may be presented in one session if appropriate.
- Section 13 contains some references that the audience may find useful. If
appropriate, deal with section 13 as a hand out, rather than presenting it as
tutorial material.
This document is not any of the following:
- A CVS reference manual. The correct CVS reference manual is the
cvs man page distributed with the CVS system. If you have CVS
installed on your system, typing man cvs at the shell prompt
will give you the information that you require.
- A complete CVS users' guide. A useful CVS users' guide has been written
by Per Cederqvist of Signum Support AB (Sweden), and this document is also
distributed with the CVS source code. The document is in the doc/ directory in
GNU texinfo format as well as printable PostScript format.