GNU Info

Info Node: (cvs.info)Multiple developers

(cvs.info)Multiple developers


Next: Revision management Prev: Binary files Up: Top
Enter node , (file) or (file)node

Multiple developers
*******************

   When more than one person works on a software project things often
get complicated.  Often, two people try to edit the same file
simultaneously.  One solution, known as "file locking" or "reserved
checkouts", is to allow only one person to edit each file at a time.
This is the only solution with some version control systems, including
RCS and SCCS.  Currently the usual way to get reserved checkouts with
CVS is the `cvs admin -l' command (Note: admin options).  This is not
as nicely integrated into CVS as the watch features, described below,
but it seems that most people with a need for reserved checkouts find
it adequate.  It also may be possible to use the watches features
described below, together with suitable procedures (not enforced by
software), to avoid having two people edit at the same time.

   The default model with CVS is known as "unreserved checkouts".  In
this model, developers can edit their own "working copy" of a file
simultaneously.  The first person that commits his changes has no
automatic way of knowing that another has started to edit it.  Others
will get an error message when they try to commit the file.  They must
then use CVS commands to bring their working copy up to date with the
repository revision.  This process is almost automatic.

   CVS also supports mechanisms which facilitate various kinds of
communication, without actually enforcing rules like reserved checkouts
do.

   The rest of this chapter describes how these various models work,
and some of the issues involved in choosing between them.

File status
A file can be in several states
Updating a file
Bringing a file up-to-date
Conflicts example
An informative example
Informing others
To cooperate you must inform
Concurrency
Simultaneous repository access
Watches
Mechanisms to track who is editing files
Choosing a model
Reserved or unreserved checkouts?

automatically generated by info2www version 1.2.2.9