[cvsnt] Script for creating nightly CVS export: need code review

Glen Starrett 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 
exported.

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 
upgrade soon.

Regards,

-- 
Glen Starrett


More information about the cvsnt mailing list