Concurrency -- CVS---Concurrent Versions System
Next: Watches
Prev: Informing others
Up: Multiple developers
Top: Top
6.5. Several developers simultaneously attempting to run CVS
If several developers try to run cvs at the same
time, one may get the following message:
[11:43:23] waiting for bach's lock in /usr/local/cvsroot/foo
cvs will try again every 30 seconds, and either
continue with the operation or print the message again,
if it still needs to wait. If a lock seems to stick
around for an undue amount of time, find the person
holding the lock and ask them about the cvs command
they are running. If they aren't running a cvs
command, look for and remove files starting with
#cvs.tfl, #cvs.rfl, or #cvs.wfl
from the repository.
Note that these locks are to protect cvs's
internal data structures and have no relationship to
the word lock in the sense used by rcs--a
way to prevent other developers from working on a
particular file.
Any number of people can be reading from a given
repository at a time; only when someone is writing do
the locks prevent other people from reading or writing.
One might hope for the following property
If someone commits some changes in one cvs command,
then an update by someone else will either get all the
changes, or none of them.
but cvs does not have this property. For
example, given the files
a/one.c
a/two.c
b/three.c
b/four.c
if someone runs
cvs ci a/two.c b/three.c
and someone else runs cvs update at the same
time, the person running update might get only
the change to b/three.c and not the change to
a/two.c.
Next: Watches
Prev: Informing others
Up: Multiple developers
Top: Top