SYNOPSIS
cvslock [-q] [-p pid] [-d CVS root] [-R|-W] [-u|-s|-c Com
mand] directory
DESCRIPTION
cvslock is used to lock a tree starting at directory in
your CVS repository during low-level manipulation or
inspection.
There are various modes of operation: You can use the -s
or -c options to cause cvslock to spawn a sub-shell or a
shell command from which you can safely access the source
repository.
You can also use cvslock to lock and unlock CVS reposito
ries from shell scripts; in this case you'll want to use
the -p option to specify the process ID which is written
to the lock files' names.
The default when given no options is to acquire a persis
tant read lock.
OPTIONS
-q This option tells cvslock to shut up and not print
any diagnostic messages to stdout. This is most
useful when using the program in conjunction with,
e.g., rsync(1).
-p pid The CVS lock files generated by this utility have
the current process ID in their name to distinguish
them from lock files generated by other tools such
as cvs itself or concurrent sessions of cvslock.
Use this option to force cvslock to use a specific
pid. This is in most useful from shell scripts.
-d CVS root
This optional argument tells cvslock where your CVS
repository's root is. If no -d switch is given,
cvslock will fall back to the CVSROOT environment
variable. Note that cvslock only works on local
repositories, so don't try to access pserver or
rsh-accessible remote repositories this way.
-R This switch tells cvslock to acquire a lock for
safe reading of the repository.
-W This switch tells cvslock to acquire a write lock
on the repository.
-s When invoked with this option, cvslock will invoke
the user's login shell as determined by the SHELL
environment variable after locking the repository.
DIAGNOSTICS
cvslock spits out some diagnostics to the standard error
stream. It's exit value is zero if and only if the lock
ing operation requested by the user could be performed
successfully. Note that no diagnostics about the exit
value of commands executed through the -c switch are
given.
BUGS
The signal handling is not too well-tested and may be bro
ken.
If you try to create the same lock several times, you will
get funny effects due to the error recovery cvslock tries
to do.
SEE ALSO
Version Management with CVS
rsync(1), system(3), cvs(1)
AUTHOR
cvslock was put together in a quick hacking session by
Thomas Roessler <roessler@guug.de> and may be distributed
under the terms of the GNU General Public License version
2.
Unix October 1998 cvslock(1)
Man(1) output converted with
man2html