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


1.4
date	96.02.07.14.35.39;	author peter;	state dead;
branches;
next	1.3;

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

1.2
date	94.10.08.23.59.17;	author jkh;	state Exp;
branches;
next	1.1;

1.1
date	94.09.28.12.25.28;	author jkh;	state Exp;
branches;
next	;


desc
@@


1.4
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
@#!/usr/bin/perl
#
# Perl module to convert a CVS avail file into a majordomo alias file.
#

$MAILING_LIST = 'cvs-committers';
$AVAIL_FILE = 'avail';

open (MAIL, ">$MAILING_LIST");
open (AVAIL, "<$AVAIL_FILE");

  while (<AVAIL>) {
    if (/^avail\|(.*)/) { 
     $master = $1;
	foreach $who (split(/,/, $master)) {
		print (MAIL "$who\n");
	}
    }
  }

close MAIL;
close AVAIL;
@


1.3
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
@@


1.2
log
@Spell "committers" correctly! :-)
@
text
@d6 2
a7 2
$MAILING_LIST = '/home/mail/cvs-committers';
$AVAIL_FILE = '/home/ncvs/CVSROOT/avail';
@


1.1
log
@Add mkavail script to make a mailing list file out of the avail file
automagically each and any time it's changed.  Change log_accum.pl
to send to the new cvs-committers mailing list that uses this
file.  This should cut down on the size of our monster cvs mail
headers considerably! :-)

Many thanks to Gary Clark II for these changes.

Submitted by:	gclarkii
@
text
@d6 1
a6 1
$MAILING_LIST = '/home/mail/cvs-commiters';
@
