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