cvslock(1)
NAME
cvslock - lock CVS repositories
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.
After the user has left that shell, cvslock will drop the locks. - -c Command
- This option is similar to the -s option, with the
difference that cvslock will execute the shell com mand given on the command line instead of giving
the user an interactive shell. - -u When given this option, cvslock will try to drop a
- previously created lock on the repository in ques
tion. Using this option together with the -s or -c
options is an error. The use of -p is highly rec
ommended in conjunction with this option!
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
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.