This is the README file for Cvs-Brancher, a perl module and script for performing scheduled branch/merge operations on a CVS module using the `at` command. The motivation for developing this is to allow for scheduled build/deployment actions to be performed for websites that are maintained out of a version control system like CVS, as opposed to a database-driven system. Another example for where this might prove useful is in the scheduled rollout of cfengine changes to a data center, where the cfengine config files are stored in a CVS module. There's almost certainly dozens of other uses for this. For a more detailed explanation, see the file doc/OVERVIEW Basic usage is straightforward: 1. branch.pl modulename YYMMDD HH:MM 2. cvs checkout ... (use info given by the branch.pl command) ...modify modify... cvs commit repeat as desired 3. ...wait until scheduled time... receive email about change This checks 'modulename' out of local CVS, establishes a branch, and schedules a build and merge to occur at the given date and time. Here's a real-world example of calling the branch.pl script: branch.pl osdl_extranet 01/23/03 05:00 \ --debug=5 \ --quiet \ --smtp=smtp \ --cvs_root_dir=':pserver:www@cvs.pdx.osdl.net:/var/cvs' \ --working_area='/tmp' \ --build_script='webbuild.sh' \ --notify_from='www@osdl.org' \ --notify_to='osdl_sysadmin@osdl.org' \ --logfile=/tmp/testing.log For more information on how to use the script including details about available commandline options, after installation see the man pages via: man branch.pl There are also man-pages for several behind-the-scenes components for those with more advanced interests: man Cvs::Brancher man Mail::Template man scheduled_build.pl For instructions on how to install the package, see the file INSTALL. Problems, questions, etc. may be sent to bryce@osdl.org or brycehar@bryceharrington.com. Cvs::Brancher is Copyright (c) 2003, by Bryce Harrington. All rights reserved. You may distribute this code under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.