Boost logo

Boost :

From: Brad King (brad.king_at_[hidden])
Date: 2002-01-22 11:03:53


>> from cvs username to email address). Authors will be notified of errors
>> resulting from their changes within a few minutes.
>
> It does mean that developers have to commit changes in a single
> transaction, or run the risk of a partial change breaking much code, and
> causing a flood of regression test emails, even though the rest of the
> change is committed a moment later. Probably be good if there was a built
> in delay of a few minutes.
This is a concern, but it will happen very rarely. The continuous build
is not actually triggered by the CVS server. A Dart client runs a
continuous build with a shell script (or whatever language you prefer)
that is written by a human on the machine. Typically, it looks about like
this:

while (1)
  tclsh DashboardManager.tcl DartConfiguration.tcl Continuous Start \
        Update Build Test Submit
  sleep 300
end

If the "Update" step detects no changes, the rest of the build/test/submit
is not run. This means that the continuous build checks for updates every
5 minutes (in this example). The time between checks is even longer when
a build is in progress.

The chances of a partial CVS commit happening just before the 5 minute
wait interval is up are small. Even if there were a delay as you suggest,
if an author waits for longer than that delay to finish the commit, the
same problem will occur. In either case, the next build after that will
include the remaining changes.

-Brad


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk