cvs-mailcommit
cvs-mailcommit is a helper application to CVS to help people
keep track of CVS repositories via mail. It is hooked into the CVS
system via the CVSROOT/loginfo file. It will read
modification information from CVS via stdin and require version
information via the commandline.
cvs-mailcommit will send differences of modified files or entire new files via mail to the denoted address. This can be a private address, a regular mail alias or a mailing-list.
Installation
TheCVSROOTloginfo file controls where cvs
commit log information is sent. The first entry on a line is a
regular expression which must match the directory (alias module) that
the change is being made to, relative to $CVSROOT. If a match is
found, then the remainder of the line is a filter program that should
expect log information on its standard input.
A loginfo line looks like
<directory> <command> --<option> --<option>
Assume you want to monitor changes in the CVSROOT module, then you may want to use the following line.
CVSROOT cvs-mailcommit --mailto master@host.org --from cvs@cvshost.com --cvs %{sVv} --diff --full
If you want to distribute changes in a module via a mailing list where only these log messages should appear you may have to add an X-Loop: or Approved: header line.
webwml cvs-mailcommit --mailto master@host.org --from cvs@cvshost.com --approved cvsmaster@cvshost.com --cvs %{sVv} --diff --full
To improve readability, the above lines were broken up into several lines using normal continuation lines. This is not supported by CVS. You will have to write it in one single line.
Source
CVS.
cvs -d :pserver:anonymous@cvs.infodrom.org:/var/cvs/infodrom login
cvs -d :pserver:anonymous@cvs.infodrom.org:/var/cvs/infodrom co scripts/cvs-mailcommit
The program comes with inline documentation. To read it all you
have to do is execute perldoc cvs-mailcommit.