cvsdigest Overview This is cvsdigest. Welcome. This software provides a CVS commit notification system. Unlike other similar projects, cvsdigest sends mail batched with a specified interval. This reduces the number of messages significantly when committers tend to check in changes one by one. This software consists of two scripts: cvsdigest_save and cvsdigest_send. The former is used to store log information when someone commits, and the latter is used to send digest information by email. Requirement * Ruby 1.6 or later. See . Setup You can put the scripts in anywhere. Here, I assume that they are under the directory /usr/bin: # install -m 0755 cvsdigest_send cvsdigest_save /usr/bin First, make a location to store log information. The default is /var/lib/cvsdigest: # mkdir /var/lib/cvsdigest cvsdigest supports multiple projects, and the default project is called simply "default": # mkdir /var/lib/cvsdigest/default Since cvsdigest uses a Maildir-like format, you need to create three sub-directories: # mkdir /var/lib/cvsdigest/default/{tmp,new,old} Make sure that these directories are writable for CVS users. For example: # chown -R cvs.cvs /var/lib/cvsdigest # chmod -R 0770 /var/lib/cvsdigest Secondly, modify the file loginfo in the module CVSROOT: $ cvs -d checkout CVSROOT $ cd CVSROOT $ $ cvs commit -m 'Add cvsdigest entries.' loginfo An entry for cvsdigest is like this: ^ /usr/bin/cvsdigest_save %{sVv} Lastly, make a crontab entry for cvsdigest. You must decide how often cvsdigest_send is invoked. If the interval is too short, you will get many messages. If it is too long, you won't get nofications immediately. This is an example: 7,27,47 * * * * /usr/bin/cvsdigest_send \ --from=nobody@yourdomain.com \ --url=http://cvs.yourdomain.com/ \ cvsdigest@yourdomain.com --from specifies the From: address of digest mail, --url specifies a cvsweb URL (optional) and the last argument is the To: address. New projects When you want to make a new project, make directories /var/lib/cvsdigest//{tmp,new,old}. Again, make sure that CVS users can write to these directories. Then you can specify the project name to cvsdigest_save and cvsdigest_send by the option --project. More information Run cvsdigest_save and cvsdigest_send with --help. Also, you can get information from . License Term This software is under the term of GNU General Public License (GPL). Read the file COPYING for precise information. Changes 2005-03-18 Yoshinori K. Okuji * Change the web site to Savannah. 2005-02-08 Yoshinori K. Okuji * Disable a debug message. * Use PROGVER instead of VERSION as Ruby uses VERSION. * Use a regexp correctly to split a log message. * Use "cvsdigest" as the real name of the From: address. 2005-02-06 Yoshinori K. Okuji * The first release.