head	1.9;
access;
symbols;
locks; strict;
comment	@# @;


1.9
date	96.02.07.14.35.43;	author peter;	state dead;
branches;
next	1.8;

1.8
date	95.11.27.08.37.01;	author peter;	state Exp;
branches;
next	1.7;

1.7
date	95.11.27.08.31.00;	author peter;	state Exp;
branches;
next	1.6;

1.6
date	95.11.27.07.48.19;	author peter;	state Exp;
branches;
next	1.5;

1.5
date	95.11.27.07.43.59;	author peter;	state Exp;
branches;
next	1.4;

1.4
date	95.11.27.07.30.26;	author peter;	state Exp;
branches;
next	1.3;

1.3
date	95.11.27.06.38.22;	author peter;	state Exp;
branches;
next	1.2;

1.2
date	95.11.27.06.33.28;	author peter;	state Exp;
branches;
next	1.1;

1.1
date	95.11.27.06.26.29;	author peter;	state Exp;
branches;
next	;


desc
@@


1.9
log
@Attempt to fix some outstanding bugs/misfeatures/bogons in the CVSROOT
code, as well as simplifying some admin procedures.

The main change is to stop multi-directory commits only having the subject
info of the last directory, and not being sent to all the lists, and not
being logged to the appropriate commitlogs.

updateCVSROOT is gone (yay!), it's functionality is replaced by a cvs-1.6
feature - the 'checkoutlist' file, which is designed explicitly for this.
This will stop the easy-import users from getting told the mailing list
is out of date when a committer has been added but had missed out on being
put on the cvs-committers mailing list.

Update the comments and info in the *info files with the cvs-1.6 headers,
this fixes a few typos, clarifys some things, corrects some misleading
comments, etc.

Some stub files added to indicate how new cvs-1.6+ functionality is used,
but left commented out (taginfo, cvswrappers, etc)

All hard-coded references to /home/ncvs are changed back to $CVSROOT
(as suggested to me by bde) now that cvs-1.6+ makes a special effort
to ensure $CVSROOT is always set.  This allows the $CVSROOT files to be
used elsewhere (eg: for testing) with much less pain.

mkavail is history as well, it was often being forgotten.  cvs-committers
now takes the user list from /etc/group:ncvs via a trivial perl script.
This is so that we still have the ability to temporarily disable commit
access via 'avail' without cutting off the cvs-committers mailing list.
Since /etc/group editing is still required, this is not a new admin
overhead.  If we ever change so that membership of "ncvs" is not required
(eg: /usr/bin/cvs becomes setgid and access control is via avail) then
we are going to have to do it some other way.  (I have ideas)

I have tested this on my machines, but it is possible that I have missed
something.  As usual, please yell if I've botched it.
@
text
@#! /bin/sh
#
# Called in place of mkmodules to take care of files mkmodules doesn't know.
#
# $Id: updateCVSROOT,v 1.8 1995/11/27 08:37:01 peter Exp peter $

PATH=$PATH:/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin
export PATH

FILELIST="avail mkavail commitcheck cvs_acls.pl commit_prep.pl log_accum.pl"
FILELIST="${FILELIST} cvsedit edithook updateCVSROOT"

cd $1

for i in $FILELIST
do 
  find $i,v -newer $i -exec echo Updating CVSROOT/$i \; -exec co -q -u $i \;
done

find avail,v -newer cvs-committers -exec ./mkavail \;
cmp -s cvs-committers /home/mail/cvs-committers || {
  echo "====== checking cvs-committers mailing list members ======"
  echo "/home/mail/cvs-committers is different to \$CVSROOT/cvs-committers"
  echo "please check to see what needs to be updated..."
}

echo Executing: mkmodules $1
exec mkmodules $1
@


1.8
log
@It was a little disturbing to not see mkmodules being run anymore.
@
text
@d5 1
a5 1
# $Id: updateCVSROOT,v 1.7 1995/11/27 08:31:00 peter Exp $
@


1.7
log
@Clean up updateCVSROOT a bit more..
@
text
@d5 1
a5 1
# $Id: updateCVSROOT,v 1.6 1995/11/27 07:48:19 peter Exp $
d27 1
@


1.6
log
@Just about finished......
@
text
@d5 1
a5 1
# $Id: updateCVSROOT,v 1.5 1995/11/27 07:43:59 peter Exp $
d17 1
a17 1
  find $i,v -newer $i -exec co -u $i \;
d22 1
@


1.5
log
@Uncomment a little more of updateCVSROOT.. I'm doing this in small
incremental steps.. Please forgive the number of commits....
@
text
@d5 1
a5 1
# $Id: updateCVSROOT,v 1.4 1995/11/27 07:30:26 peter Exp $
d20 1
a20 1
find avail,v -newer cvs-committers -exec ./mkavail
@


1.4
log
@Remove a comment in updateCVSROOT...
@
text
@d5 1
a5 1
# $Id: updateCVSROOT,v 1.3 1995/11/27 06:38:22 peter Exp $
d20 5
a24 5
#find avail,v -newer cvs-committers -exec ./mkavail
#cmp -s cvs-committers /home/mail/cvs-committers || {
#  echo "/home/mail/cvs-committers is different to \$CVSROOT/cvs-committers"
#  echo "please check to see what needs to be updated..."
#}
@


1.3
log
@oops.. forgot to uncomment mkmodules
@
text
@d5 1
a5 1
# $Id: updateCVSROOT,v 1.2 1995/11/27 06:33:28 peter Exp peter $
d17 1
a17 1
  find $i,v -newer $i -exec echo co -u $i \;
@


1.2
log
@Whoops.. :-) some typos...
@
text
@d5 1
a5 1
# $Id: updateCVSROOT,v 1.1 1995/11/27 06:26:29 peter Exp $
d26 1
a26 1
#exec mkmodules $1
@


1.1
log
@Some preliminary steps to automate the update of the various special files
in CVSROOT.  The idea being that the modules file is changed to run
updateCVSROOT instead of mkmodules.  This will eventually do the necessary
syncing that is currently done manually.
@
text
@d5 1
a5 1
# $Id$
d11 1
a11 1
FILELIST="${FILELIST} cvsedit edithook fixcvsroot"
d17 1
a17 1
  find $i,v -newer $i -exec co -u $i
d26 1
a26 1
exec mkmodules $1
@
