#include <infodrom.style>

<page title="Infodrom Oldenburg Tools">

<h2>cvs-mailcommit</h2>

<p><b>cvs-mailcommit</b> 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 <code>CVSROOT/loginfo</code> file.  It will read
modification information from CVS via stdin and require version
information via the commandline.</p>

<p><b>cvs-mailcommit</b> 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.</p>

<h3>Installation</h3>

The <code>CVSROOTloginfo</code> file controls where <code>cvs
commit</code> 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.</p>

<p>A <code>loginfo</code> line looks like</p>

<p><pre>
   &lt;directory&gt;    &lt;command&gt; --&lt;option&gt; --&lt;option&gt;
</pre></p>

<p>Assume you want to monitor changes in the CVSROOT module, then you
may want to use the following line.</p>

<p><pre>
    CVSROOT	cvs-mailcommit \
      --mailto master@host.org \
      --from cvs@cvshost.com \
      --cvs %{sVv} --diff --full
</pre></p>

<p>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.</p>

<p><pre>
    webwml	cvs-mailcommit \
      --mailto master@host.org \
      --from cvs@cvshost.com \
      --approved cvsmaster@cvshost.com \
      --cvs %{sVv} --diff --full
</pre></p>

<p>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.</p>

<h3>Source</h3>

<p><a href="http://cvs.infodrom.org/scripts/cvs-mailcommit?cvsroot=infodrom">CVS</a>.</p>
<p><a href="http://cvs.infodrom.org/~checkout~/scripts/cvs-mailcommit?rev=HEAD&content-type=text/plain&cvsroot=infodrom">\
Download</a>.</p>
<p>cvs -d :pserver:anonymous@cvs.infodrom.org:/var/cvs/infodrom login
<br>cvs -d :pserver:anonymous@cvs.infodrom.org:/var/cvs/infodrom co scripts/cvs-mailcommit</p>

<p>The program comes with inline documentation.  To read it all you
have to do is execute <code>perldoc cvs-mailcommit</code>.</p>

</page>

# Local variables:
# mode: indented-text
# end:
