-##############################################################
-#
-# Get some static statistics about the current state of CVS
-#
-# This can probably be put on the server side
-#
-##############################################################
-my $CVSCheckoutTime_Wall = GetRegex "([0-9.]+)", `grep '^real' $CVSLog`;
-my $CVSCheckoutTime_User = GetRegex "([0-9.]+)", `grep '^user' $CVSLog`;
-my $CVSCheckoutTime_Sys = GetRegex "([0-9.]+)", `grep '^sys' $CVSLog`;
-my $CVSCheckoutTime_CPU = $CVSCheckoutTime_User + $CVSCheckoutTime_Sys;
-
-my $NumFilesInCVS = `egrep '^U' $CVSLog | wc -l` + 0;
-my $NumDirsInCVS =
- `egrep '^cvs (checkout|server|update):' $CVSLog | wc -l` + 0;
-
-##############################################################
-#
-# Extract some information from the CVS history... use a hash so no duplicate
-# stuff is stored. This gets the history from the previous days worth
-# of cvs activity and parses it.
-#
-##############################################################
-
-my (%AddedFiles, %ModifiedFiles, %RemovedFiles, %UsersCommitted, %UsersUpdated);
-
-if(!$NOCVSSTATS){
-
- if ($VERBOSE) { print "CVS HISTORY ANALYSIS STAGE\n"; }
- @CVSHistory = split "\n", `cvs history -D '1 day ago' -a -xAMROCGUW`;
-#print join "\n", @CVSHistory; print "\n";
-
- my $DateRE = '[-/:0-9 ]+\+[0-9]+';
-
-# Loop over every record from the CVS history, filling in the hashes.
- foreach $File (@CVSHistory) {
- my ($Type, $Date, $UID, $Rev, $Filename);
- if ($File =~ /([AMRUGC]) ($DateRE) ([^ ]+) +([^ ]+) +([^ ]+) +([^ ]+)/) {
- ($Type, $Date, $UID, $Rev, $Filename) = ($1, $2, $3, $4, "$6/$5");
- } elsif ($File =~ /([W]) ($DateRE) ([^ ]+)/) {
- ($Type, $Date, $UID, $Rev, $Filename) = ($1, $2, $3, "", "");
- } elsif ($File =~ /([O]) ($DateRE) ([^ ]+) +([^ ]+)/) {
- ($Type, $Date, $UID, $Rev, $Filename) = ($1, $2, $3, "", "$4/");
- } else {
- print "UNMATCHABLE: $File\n";
- next;
- }
- # print "$File\nTy = $Type Date = '$Date' UID=$UID Rev=$Rev File = '$Filename'\n";
-
- if ($Filename =~ /^llvm/) {
- if ($Type eq 'M') { # Modified
- $ModifiedFiles{$Filename} = 1;
- $UsersCommitted{$UID} = 1;
- } elsif ($Type eq 'A') { # Added
- $AddedFiles{$Filename} = 1;
- $UsersCommitted{$UID} = 1;
- } elsif ($Type eq 'R') { # Removed
- $RemovedFiles{$Filename} = 1;
- $UsersCommitted{$UID} = 1;
- } else {
- $UsersUpdated{$UID} = 1;
- }
- }
- }
-
- my $TestError = 1;
-
-}#!NOCVSSTATS
-
-my $CVSAddedFiles = join "\n", sort keys %AddedFiles;
-my $CVSModifiedFiles = join "\n", sort keys %ModifiedFiles;
-my $CVSRemovedFiles = join "\n", sort keys %RemovedFiles;
-my $UserCommitList = join "\n", sort keys %UsersCommitted;
-my $UserUpdateList = join "\n", sort keys %UsersUpdated;
-
-##############################################################
-#
-# Build the entire tree, saving build messages to the build log
-#
-##############################################################
-if (!$NOCHECKOUT && !$NOBUILD) {