cvsnt--Concurrent Versions System (cvsnt)
March Hare Software, Ltd.

CVS Suite 2009R2 cvsnt


This is the open source reference manual for CVSNT version

Other documents available are:

Table of Contents

1. Overview
What is CVS?
What is CVS not?
A sample session
Getting the source
Committing your changes
Cleaning up
Viewing differences
2. The Repository
Telling CVS where your repository is
How data is stored in the repository
Where files are stored within the repository
File permissions
The attic
The CVS directory in the repository
CVS locks in the repository
How files are stored in the CVSROOT directory
How data is stored in the working directory
The administrative files
Editing administrative files
Multiple repositories
Creating a repository
Backing up a repository
Moving a repository
Remote repositories
Server requirements
Connecting with ssh
Using 3rd party clients via the extnt wrapper
Direct connection with password authentication
Direct connection with GSSAPI
Connecting with fork
Using repository aliases
3. Security
How to set up security
How to add and delete users
Setting permissions for files and directories
Groups of users can be assigned permissions
Running CVSNT as a nonprivileged user
Running within a chroot jail
Setting and changing passwords
Repository administrators
Read-only repository access
Temporary directories for the server
The CVSNT lockserver
4. Starting a project with CVS
Setting up the files
Creating a directory tree from a number of files
Creating Files From Other Version Control Systems
Creating a directory tree from scratch
Defining the module
5. Revisions
Revision numbers
Versions, revisions and releases
Assigning revisions
Tags-Symbolic revisions
Specifying what to tag from the working directory
Specifying what to tag by date or revision
Deleting, moving, and renaming tags
Tagging and adding and removing files
Alias tags
Commit identifiers
Sticky tags
6. Branching and merging
What branches are good for
Creating a branch
Accessing branches
Branches and revisions
Magic branch numbers
Merging an entire branch
Merging from a branch several times
Merging differences between any two revisions
Merging can add or remove files
Merging and keywords
7. Recursive behavior
8. Adding, removing, and renaming files and directories
Adding files to a directory
Removing files
Removing directories
Moving and renaming files
The Normal way to Rename
The old way to Rename
Moving the history file
Copying the history file
Moving and renaming directories
9. History browsing
Log messages
The history database
User-defined logging
The taginfo file
Annotate command
10. Handling binary files
The issues with binary files
How to store binary files
11. Multiple developers
File status
Bringing a file up to date
Conflicts example
Informing others about commits
Several developers simultaneously attempting to run CVS
Mechanisms to track who is editing files
Setting up cooperative edits
Telling CVS to notify you when someone modifies a file
How to edit a file which is being watched
Information about who is watching and editing
Using watches with old versions of CVS
Choosing between reserved or unreserved checkouts
12. Revision management
When to commit?
13. Keyword substitution
Keyword List
Using keywords
Avoiding substitution
Substitution modes
14. Tracking third-party sources
Importing for the first time
Updating with the import command
Reverting to the latest vendor release
How to handle binary files with cvs import
How to handle keyword substitution with cvs import
Multiple vendor branches
15. How your build system interacts with CVS
16. Special Files
A. Guide to CVS commands
Overall structure of CVS commands
CVS's exit status
Default options and the ~/.cvsrc and CVSROOT/cvsrc files
Global options
Common command options
add--Add files to repository
add options
admin options
annotate--find out who made changes to the files
annotate options
chacl--Change access control lists
chacl options
checkout--Check out sources for editing
checkout options
checkout examples
chown--Change directory owner
chown options
commit--Check files into the repository
commit options
commit examples
diff--Show differences between revisions
diff options
diff examples
edit--Mark files for editing
edit options
editors--Find out who is editing a file
editors options
export--Export sources from CVS, similar to checkout
export options
history--Show status of files and users
history options
import--Import sources into CVS, using vendor branches
import options
import output
import examples
init--Initialise a new repository
init options
info--Get information about the client and server
info options
log--Print out log information for files
log options
log examples
login--Cache a client password locally
login options
logout--Remove the cached entry for a password
logout options
ls--list modules, files and directories in the repository
ls options
lsacl--Show file/directory permissions
lsacl options
rlsacl--Show remote file/directory permissions
passwd--Modify a user's password or create a user
passwd options
rannotate--Show who made changes to remote files
rchacl--Change remote access control lists
rchown--Change owner of a remote directory
rdiff--'patch' format diffs between releases
rdiff options
rdiff examples
release--Indicate that a Module is no longer in use
release options
release output
release examples
remove--Remove files from the working directory
remove options
rename--Rename files in the repository
rlog--Return log history of remote file
rtag--Mark a single revision over multiple files
status--Display the state of a file in the working directory
status options
tag--Create a tag or branch
tag options
unedit--Mark edit as finished without committing
unedit options
update--Bring work tree in sync with repository
update options
update output
version--Display client and server versions.
version options
watch--Watch for changes in a file
watch options
watchers--list watched files
watchers options
xdiff--External diff
xdiff options
B. Reference manual for Administrative files
The modules file
Alias modules
Regular modules
Ampersand modules
Excluding directories
Module options
How the modules file "program options" programs are run
The modules2 file
How the modules2 file differs from the modules file
Modules2 syntax
The cvswrappers file
default wrappers
The commit support files
The common syntax
Loginfo example
Loginfo default standard input format
Storing user defined information using keywords
Email notification
Configure the commit support files
Write the template
Configure the server
Keywords used in template files
Ignoring files via cvsignore
The checkoutlist file
The history file
The shadow file
Keeping a checked out copy
ActiveScript support
Expansions in administrative files
The CVSROOT/config configuration file
The server configuration files
C. All environment variables which affect CVS
D. Compatibility between CVS Versions
E. Troubleshooting
Partial list of error messages
Trouble making a connection to a CVS server
F. Credits
G. Dealing with bugs in CVS or this manual