[cvsnt] Script for creating nightly CVS export: need code review
grstarrett at cox.net
Mon Aug 9 22:02:36 BST 2004
I didn't get any response on my search for a good nightly export script,
so I made one myself. This is my first attempt at writing anything in
PERL, so if there are any PERL programmers out there I'd certainly
appreciate it if you could take a few minutes and review it for me.
The idea is that you launch it from a CRON job and have it create a
nightly .tgz of the HEAD of whichever modules you define in the config
file. That config file is kept in CVS so a CVS admin is still using CVS
for most changes to the configuration outside the initial setup (default
is "CVS-ROOT/cvs-nightly.conf" but is configurable).
This script is designed to work with SourceForge projects but is easily
customized to work with any repository (look for "cvsroot").
To install the script:
1) Customize cvs-nightly.conf with the modules and branch/tag to be
2) Add the config file to your CVSROOT (or other path in the target
repository) and commit it*.
3) Configure the cvs-nightly main script with locations for temp,
outpath, and configfile.
4) (if necessary) mark cvs-nightly as executable.
5) Run cvs-nightly. -v will include verbose output, -k will keep the
temp files. The default operation is very quiet unless there is a problem.
* NOTE: SourceForge still has about a 5 hour delay between when a CVS
update is made and when it shows up in the anonymous server. This means
that the config file will take about 5 hours to show up if you're
running against a SourceForge server. SourceForge has said they are
working on getting this down to minutes when they complete a server
More information about the cvsnt