To install CVSspam you will need to alter the repository's configuration files. To do this, check out your repository's CVSROOT.
First, alter commitinfo to call the CVSspam script that records the directories that have been commited:
Now you need to alter loginfo to record the log entry made by the user (and send off the email):
![]() | The expression you use to select the project (the first thing on the line) must be the same in commitinfo and loginfo. |
Commit your changes to these files. You should see a message from CVS like rebuilding adminstrative database'. You are now be ready to test the setup.
Checkout a copy of myproject and commit a change. An email should be sent to the address you specified.
The CVSspam scripts may be located anywhere in the CVS server's filesystem.
It's common to place these files inside the repository's CVSROOT, and this can be the only option if CVS is the only way you have to access a remote server. To do this, you need a checked-out copy of the CVSROOT, as described above. Place record_last_dir.rb, collect_diffs.rb and cvsspam.rb into this directory.
Add these three filenames into CVSROOT/checkoutlist
cvs add the three scripts to the repository, then cvs commit them, and the modified checkoutlist.
In commitinfo and loginfo you can now refer to the scripts with $CVSROOT/CVSROOT/record_lastdir.rb and $CVSROOT/CVSROOT/collect_diffs.rb
You can specify CVSspam options in a configuration file. By default, the file $CVSROOT/CVSROOT/cvsspam.conf is used, though you can specify another with the --config option to collect_diffs.rb.
If you want to put your config into the repository, you will need to follow the instructions above for installing files into CVSROOT
To see the available options, see the example cvsspam.conf provided.
A: Did you specify the right email address? Obvious, but worth checking.
A: Does the regular expression you specified in commitinfo and loginfo really match the project? Try changing the entry to something like
All being well, when you commit a change to myproject, you will see the message 'Hello world' in your terminal.A: Check that the CVS server corectly handles email. By default CVSspam invokes sendmail. Try running sendmail by hand on the CVS server machnine