Table of Contents
1. Overview
1.1 What is CVS?
1.2 What is CVS not?
1.3 A sample session
1.3.1 Getting the source
1.3.2 Committing your changes
1.3.3 Cleaning up
1.3.4 Viewing differences
2. The Repository
2.1 Telling CVS where your repository is
2.2 How data is stored in the repository
2.2.1 Where files are stored within the repository
2.2.2 File permissions
2.2.3 File Permission issues specific to Windows
2.2.4 The attic
2.2.5 The CVS directory in the repository
2.2.6 CVS locks in the repository
2.2.7 How files are stored in the CVSROOT directory
2.3 How data is stored in the working directory
2.4 The administrative files
2.4.1 Editing administrative files
2.5 Multiple repositories
2.6 Creating a repository
2.7 Backing up a repository
2.8 Moving a repository
2.9 Remote repositories
2.9.1 Server requirements
2.9.2 Connecting with rsh
2.9.3 Direct connection with password authentication
2.9.3.1 Setting up the server for password authentication
2.9.3.2 Using the client with password authentication
2.9.3.3 Security considerations with password authentication
2.9.4 Direct connection with GSSAPI
2.9.5 Direct connection with kerberos
2.9.6 Connecting with fork
2.10 Read-only repository access
2.11 Temporary directories for the server
3. Starting a project with CVS
3.1 Setting up the files
3.1.1 Creating a directory tree from a number of files
3.1.2 Creating Files From Other Version Control Systems
3.1.3 Creating a directory tree from scratch
3.2 Defining the module
4. Revisions
4.1 Revision numbers
4.2 Versions, revisions and releases
4.3 Assigning revisions
4.4 Tags--Symbolic revisions
4.5 Specifying what to tag from the working directory
4.6 Specifying what to tag by date or revision
4.7 Deleting, moving, and renaming tags
4.8 Tagging and adding and removing files
4.9 Sticky tags
5. Branching and merging
5.1 What branches are good for
5.2 Creating a branch
5.3 Accessing branches
5.4 Branches and revisions
5.5 Magic branch numbers
5.6 Merging an entire branch
5.7 Merging from a branch several times
5.8 Merging differences between any two revisions
5.9 Merging can add or remove files
5.10 Merging and keywords
6. Recursive behavior
7. Adding, removing, and renaming files and directories
7.1 Adding files to a directory
7.2 Removing files
7.3 Removing directories
7.4 Moving and renaming files
7.4.1 The Normal way to Rename
7.4.2 Moving the history file
7.4.3 Copying the history file
7.5 Moving and renaming directories
8. History browsing
8.1 Log messages
8.2 The history database
8.3 User-defined logging
8.4 Annotate command
9. Handling binary files
9.1 The issues with binary files
9.2 How to store binary files
10. Multiple developers
10.1 File status
10.2 Bringing a file up to date
10.3 Conflicts example
10.4 Informing others about commits
10.5 Several developers simultaneously attempting to run CVS
10.6 Mechanisms to track who is editing files
10.6.1 Telling CVS to watch certain files
10.6.2 Telling CVS to notify you
10.6.3 How to edit a file which is being watched
10.6.4 Information about who is watching and editing
10.6.5 Using watches with old versions of CVS
10.7 Choosing between reserved or unreserved checkouts
11. Revision management
11.1 When to commit?
12. Keyword substitution
12.1 Keyword List
12.2 Using keywords
12.3 Avoiding substitution
12.4 Substitution modes
12.5 Problems with the $@asis{}Log$ keyword.
13. Tracking third-party sources
13.1 Importing for the first time
13.2 Updating with the import command
13.3 Reverting to the latest vendor release
13.4 How to handle binary files with cvs import
13.5 How to handle keyword substitution with cvs import
13.6 Multiple vendor branches
14. How your build system interacts with CVS
15. Special Files
A. Guide to CVS commands
A.1 Overall structure of CVS commands
A.2 CVS's exit status
A.3 Default options and the ~/.cvsrc file
A.4 Global options
A.5 Common command options
A.6 admin--Administration
A.6.1 admin options
A.7 checkout--Check out sources for editing
A.7.1 checkout options
A.7.2 checkout examples
A.8 commit--Check files into the repository
A.8.1 commit options
A.8.2 commit examples
A.8.2.1 Committing to a branch
A.8.2.2 Creating the branch after editing
A.9 diff--Show differences between revisions
A.9.1 diff options
A.9.2 diff examples
A.10 export--Export sources from CVS, similar to checkout
A.10.1 export options
A.11 history--Show status of files and users
A.11.1 history options
A.12 import--Import sources into CVS, using vendor branches
A.12.1 import options
A.12.2 import output
A.12.3 import examples
A.13 log--Print out log information for files
A.13.1 log options
A.13.2 log examples
A.14 rdiff---'patch' format diffs between releases
A.14.1 rdiff options
A.14.2 rdiff examples
A.15 release--Indicate that a Module is no longer in use
A.15.1 release options
A.15.2 release output
A.15.3 release examples
A.16 update--Bring work tree in sync with repository
A.16.1 update options
A.16.2 update output
B. Quick reference to CVS commands
C. Reference manual for Administrative files
C.1 The modules file
C.1.1 Alias modules
C.1.2 Regular modules
C.1.3 Ampersand modules
C.1.4 Excluding directories
C.1.5 Module options
C.1.6 How the modules file "program options" programs are run
C.2 The cvswrappers file
C.3 The commit support files
C.3.1 The common syntax
C.4 Commitinfo
C.5 Verifying log messages
C.6 Editinfo
C.6.1 Editinfo example
C.7 Loginfo
C.7.1 Loginfo example
C.7.2 Keeping a checked out copy
C.8 Rcsinfo
C.9 Ignoring files via cvsignore
C.10 The checkoutlist file
C.11 The history file
C.12 Expansions in administrative files
C.13 The CVSROOT/config configuration file
D. All environment variables which affect CVS
E. Compatibility between CVS Versions
F. Troubleshooting
F.1 Partial list of error messages
F.2 Trouble making a connection to a CVS server
F.3 Other common problems
G. Credits
H. Dealing with bugs in CVS or this manual
Index
This document was generated
by Derek Robert Price on June, 13 2001
using texi2html