          ****** CVS *********(repository) - ****** FreeBSD *********

  Stijn Hoop

   <stijn@win.tue.nl>

   ******: 43126

   ****** (c) 2001-2003 Stijn Hoop

   FreeBSD *** FreeBSD************************

   ***************************************************************************************************._
   ************************************** FreeBSD Project
   ***************************************** '(TM)' *** '(R)'
   ***************._

   2013-11-07 *** gabor.
   ******

   ****************************** FreeBSD *********************************
   CVS ****************** ._************ CVS
   ***********************************************************************************
   granular access
   **************************************************************._

     ----------------------------------------------------------------------

   ************

   1. ******

   2. ************

   3. FreeBSD ***************

1. ******

   ************************************************ CVS ******
   ******************************._*** CVS ************************
   **************************************._******************************************************************
   ***********************************************************************************************************
   ******************._

   FreeBSD ********************* CVS ********************
   ******************************************._***************************************************************
   ******._************************ Josef Karthauser
   **************************************************************
   ***************************************._******************************************************._

   ***************************************************** CVS
   *********************._

2. ************

  ******:

   **************************************************************************************************
   ***._*******************************************************

  2.1. ******************

   ***********************************************************************
   CVS ********************

 % cvs -d path-to-repository init

   *************** CVS ****** CVSROOT
   *****************************************************._

  2.2. ************************

   **************************************************************************************************
   *****************************************._******************************
   FreeBSD ********* ncvs._

 # pw groupadd ncvs

   ********************* chown(8)
   **************************************************

 # chown -R :ncvs path-to-your-repository

   *********************************************************************************._

  2.3. ******************

   ****************** FreeBSD ****************** CVSROOT ******** *** FreeBSD
   ********* CVS ******************************************._********* ***
   handbook *********************
   ******************._******************************************************
   CVSROOT-freebsd *********._

  2.4. ****** FreeBSD ************

   ************************ FreeBSD CVSROOT ******************
   ***************._********************* CVS********************
   ******************************************************************************************************
   CVS ******************************************** CVSROOT
   ********************************._***************************
   ******************************************************************* cvs
   import *********._***********************************************
   *********._

   ************************************************-************************************._
   ****************** CVSROOT***************************** FreeBSD
   ************************************************

 % cvs -d path-to-your-repository checkout CVSROOT
 % cd CVSROOT
 % cp ../CVSROOT-freebsd/* .
 % cvs add *

   ************************************************************************************************
   *********************************._

  2.5. ***************

   *************************************** FreeBSD
   ************************************************
   ***********************************************._

     * access - *********************************************._
       ***************FreeBSD ******************
       ********************************._*********************************************************************._

     * avail - *********************************._***************
       ********************************************************************************************._*********
       *********************************************************._

     * cfg.pm - ********************************************************._
       ********************************************************
       cfg_local.pm._

     * cfg_local.pm - ***************************************
       ._**************************************************************************,_******************
       ******************************._***************************************._

     * checkoutlist - ************************ CVS
       *********************************************** cvs init
       ******************._********************************* FreeBSD
       ***************._

     * commit_prep.pl - ********************************************
       ****************** cfg_local.pm *********._************************._

     * commitcheck - *************************** CVS._******************
       cvs_acls.pl
       ***********************************************************
       ************ commit_prep.pl *********************************._
       ********************CVS *********************************._
       ************************._

     * commitinfo - ************ CVS
       *********************************************-*** ************
       commitcheck._************************._

     * config - ************************._*********************
       ***********************************************************._***************************************
       ****************** CVS ******._

     * cvs_acls.pl - *****************************************
       ******/*********************************************** avail ***
       *********._************************._

     * cvsignore - *************************** CVS
       *****************************************************
       ******._************************************************ CVS ******._

     * cvswrappers - ************ CVS
       *****************************************************
       ***************************._******************************._************************************
       ************ CVS ******._****** -t *** -f ********* CVS client/server
       ***************************._

     * edithook - ********************************************
       *********************************._*********************************._

     * editinfo - CVS
       ******************************************************._FreeBSD
       ***************************** ****************************** verifymsg
       *** logcheck *********._************ editinfo
       ************************************ -m *** -F
       *********************._****** ******************._

     * exclude - ****************** commit_prep.pl
       ******************************************._ *** FreeBSD
       ***********************************************************************************
       ********** $FreeBSD$**._*********************************************
       ***************************._*********************************************************************
       ******************._*****************************************************
       CVSROOT/ ************************._

     * log_accum.pl - ************************ logcheck
       *****************************************************
       ************************************._************************************************************
       ******** cfg_local.pm *****._****** CVS ************ loginfo
       ************._************************._

     * logcheck - *********************************************
       ********************************._****** CVS ********* *** verifymsg
       ************._************************._

  ******:

       ****************************** FreeBSD CVS ********FreeBSD
       ***************************************************************** CVS
       *****************************************************
       ************************._CVS 1.11.2 *************** config ******
       RereadLogAfterVerify=always ****** FreeBSD ************************._

     * loginfo - ************ CVS
       ******************************************** log_accum.pl
       ************._************************._

     * modules - ****************** CVS
       ***************._************************ FreeBSD
       **************************************._************************************************
       CVS ******._

     * notify - ************ CVS ******************************._*** FreeBSD
       ***
       ********************************************************************._***************************
       ********************* CVS ******._

     * options - ************************ FreeBSD *** Debian *** CVS
       ******._***************************************
       ******************._************************************ cfg_local.pm
       ************._

     * rcsinfo - ************************************************
       ***************************** rcstemplate._FreeBSD ******
       ***********************************************************************************._

     * rcstemplate - ******************************************
       ***********************************************************
       cfg_local.pm ***************._

     * tagcheck - *********************************************
       ******._********* FreeBSD ****************** RELENG*
       *********************** release engineering
       *********._***************************************._

     * taginfo - ************************************************
       ************************** tagcheck._************************._

     * unwrap - ******************************************"******"
       ******************** cvswrappers**._****** FreeBSD ***
       **************************************************************************************._************************._

     * verifymsg - *********************************************
       ************** logcheck._************************._

     * wrap - ******************************************"******"
       ******************** cvswrappers**._****** FreeBSD ***
       **************************************************************************************._************************._

  2.6. ***************

   ************************************************************************************._************
   **************************************************************._*******************************************

    1. ************************FreeBSD *****************
       ************************ access**

 % cvs rm -f access

    2. ****** avail *********************************************
       ***************************** avail||CVSROOT *****************
       *********************************************._

       ********************************************************FreeBSD
       ************ access
       ********************************************************
       ******************._***********************************************************
       cvs_acls.pl ********************._

    3. ****** cfg_local.pm ***************************._******
       ********************************************

          * %TEMPLATE_HEADERS - ***************************
            ********************************************************************************._******
            ********* PR *** MFC after
            *****************************************._

          * $MAIL_BRANCH_HDR - ***************************
            *****************************************************************************************
            ******************._**************************************************************._

          * @COMMIT_HOSTS - ************************************._

          * $MAILADDRS - ************************************ *********._

          * @LOG_FILE_MAP - *********************************
            *************************************************************************************
            commitlogs *********************************************._

          * $COMMITCHECK_EXTRA - ********************* FreeBSD
            ********************* *****************************************
            $COMMITCHECK_EXTRA *********._

  ******:

       ****** $IDHEADER ****************** FreeBSD
       ************************************** FreeBSD ********* CVS
       *********._

       *************** cfg.pm ************************************
       ***********************************._

    4. ****** exclude *********FreeBSD ********************* ***********
       ^ports/ **************************._************** ****** ^CVSROOT/
       ********************************************
       ^CVSROOT/._*****************************************************
       ****** CVSROOT ***********************************************
       ***********************************************************************._

    5. ****** modules***************** FreeBSD *********._
       ************************._

    6. ******:

       ************************ cfg_local.pm ********* *** $IDHEADER
       ***************************** FreeBSD ********* CVS
       **************************._

       ****** options *************** cfg_local.pm
       ************************._********************* ********* FreeBSD
       ************************************._

    7. ****** rcstemplate ********* cfg_local.pm ******************._

    8. ********************* tagcheck ********* FreeBSD ***
       ************._****************************************** exit 0 ***
       ***************************._

    9. ****************************************** commitlogs
       ******************._************ ********************* commitlogs
       ***************************** *****************

 % mkdir commitlogs
 % cvs add commitlogs

   ****************************************************************._*********************
   avail ************************ CVSROOT
   ***********************************************************************._******************************
   ***********

 % cvs commit -m '- Initial FreeBSD scripts commit'

  2.7. ************

   ***************************************************** avail
   ***************************************._

 % cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' avail

   *******************************************************************************
   FreeBSD ****** *********._****** CVS
   **************************************
   ************************************._

3. FreeBSD ***************

   FreeBSD
   ***********************************************************************
   FreeBSD CVSROOT ****** freebsd *********._***
   ***********************************************************************************
   wrapper ************
   **************************************************************._

   ****************************************************************************************************
   ******************************._

  3.1. FreeBSD ************************

     * access - ***************************************._***
       ************************************************._

     * freebsd/commitmail.pl - ************************
       *****************************************************._************************._

     * freebsd/cvswrap.c - *** CVS wrapper ******
       *********************************************._*********************************._************
       *** ACCESS *** REALCVS ********* *********************._

     * freebsd/mailsend.c - ************ FreeBSD *** *** mailing lists
       ***********************************._

  3.2. ******

    1. ************************************ access ***._

    2. ****** cvswrap.c ************************************** ************
       ACCESS ***._******************************************
       ************************************ cvs ******************._******
       *** cvswrap.c ************************ CVS ***************** *********
       /usr/bin/ncvs._

       ****** cvswrap.c ***********

 #define ACCESS "/local/cvsroot/CVSROOT/access"
 #define REALCVS "/usr/bin/ncvs"

    3. ****************** wrapper
       ************************************************._ ********* CVSROOT
       ****** cvswrap.c ***************._

       **************************************************************************

 % cc -o cvs cvswrap.c

       ***************************************** root **********

 # mv /usr/bin/cvs /usr/bin/ncvs
 # mv cvs /usr/bin/cvs
 # chown root:ncvs /usr/bin/cvs /usr/bin/ncvs
 # chmod o-rx /usr/bin/ncvs
 # chmod u-w,g+s /usr/bin/cvs

       ********* wrapper ****************** cvs *****************
       ************************************************************._

    4. ********************************************************************************************
       wrapper ************** wrapper ******************************._

  3.3. ************

   ****** wrapper
   ************************************************************** access
   ***********************

 % cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' access

   *******************************************************************************._
