permit - RCS directory-level permissions


       permit [options] [directory-specifications]


       Permit maintains a special-purpose RCS archive in each RCS directory in
       a tree of files.  The special archive records the access list for users
       who  are  allowed  to  use  the checkin and checkout utilities to place
       locks on archives in the corresponding directories, as well as the ini-
       tial revision number for new files.


       Permit  scans each directory-tree given as an argument.  If no argument
       is given, permit processes the tree beginning with ".".

       Each time an RCS directory is found, permit determines  if  the  direc-
       tory-access file exists.

       If  no  directory-access  file is found, permit scans through all other
       archives in the directory to infer the baseline version, and from  that
       the  initial revision number for new files which may be created in that
       directory.  Then, permit creates a directory access file.  By  default,
       the RCS directory owner is on each access list - otherwise manipulating
       it is complicated.

       Normally, permit issues rcs commands to add the directory owner to  the
       access list of each archive.  The "-p" (purge) option is used to delete
       all usernames from the access lists.


           adds the list of specified users to each RCS archive access list.

           specifies the baseline version for the directory.  This must be  an
           integer  greater  than one.  Permit verifies that no version in the
           directory is higher than this value.   Thereafter,  this  sets  the
           initial  version  for new files which are archived using checkin in
           the directory.

           expunges the list of specified users to  each  RCS  archive  access

       -l  show symbolic links

           overrides  permit's  default  revision-log  message "BASELINE date"
           which is entered in the RCS,v file.

       -n  no-op mode causes permit to run, showing what it would try to do.

       -p  purges all usernames from each RCS archive access list.

       -q  makes the listing less verbose (i.e., suppresses display of the rcs
           and ci commands, and of the directory tree).

       -s  same as "-q".

           generates  a report showing which archives have the specified users
           in their access lists.

       -v  makes the display more verbose; the names of files which cannot  be
           opened are reported.


       An example of the use of permit is shown below.  The user has asked for
       a report showing what actions permit would make on the  current  direc-
       tory  tree.   The  directory-access  archives  are not found, so permit
       scans through each RCS archive to obtain the baseline revision number:

            bsd4.2(64) permit -n
            ** path = .
               1:    ./
               2:    |-- RCS/
               3:    |---|-- 2.1 > COPYRIGHT,v (dickey,impact)
               4:    |---|-- 2.2 > Makefile,v (dickey,impact)
               5:    |---|-- 2.2 > README,v (dickey,impact)
               6:    |---|-- 2.1 > descrip.mms,v (dickey,impact)
            ci -mPERMIT FILE -r2.1 ./RCS ./RCS,v
            rcs -aimpact ./RCS,v
               7:    |-- certificate/
               8:    |---|-- RCS/
               9:    |---|---|-- 2.1 > Makefile,v (dickey,impact)
              10:    |---|---|-- 2.1 > config_sheet.txt,v (dickey,impact)
              11:    |---|---|-- 2.1 > descrip.mms,v (dickey,impact)
              12:    |---|---|-- 2.1 > release_notes.txt,v (dickey,impact)


       Permit is a C-language program which runs in a portable POSIX  environ-

       Environment variables include:

              specifies  the  directory  in  which  permit  will find the ",v"
              files.  If not specified, permit assumes "RCS".


       Permit is a single binary file, "permit".  Within each  RCS  directory,
       permit maintains an archive "RCS,v", which records the directory-access
       list, as well as the beginning revision  number  for  new  files.   The
       directory-acces  s  archive  file is named so that the set-uid applica-
       tions checkin and checkout are unable to modify it.




       baseline, rcs (1), ci (1).


       Thomas E. Dickey <>