#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bonsai CVS tool.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
require 'CGI.pl';
use strict;
sub StupidFuncToShutUpWarningsByUsingVarsAgain {
my $z;
$z = $::CloseTimeStamp;
$z = $::LastGoodTimeStamp;
$z = $::MOTD;
$z = $::WhiteBoard;
$z = $::TreeList;
}
print "Content-Type: text/html; charset=UTF-8\nRefresh: 300\n\n";
PutsHeader("Bonsai -- the art of effectively controlling trees",
"Bonsai", "CVS Tree Control");
print "
";
Lock();
LoadCheckins();
LoadMOTD();
LoadWhiteboard();
LoadTreeConfig();
Unlock();
my $openword;
if ($::TreeOpen) {
$openword = 'OPEN';
} else {
$openword = 'CLOSED';
}
print "
$::MOTD
" . html_quote($::WhiteBoard) . "
\n"; @peoplelist = sort(keys %checkincount); @list = @peoplelist; while (1) { last if ($#list < 0); $end = 19; $end = $#list if ($end >= $#list); GetInfoForPeople(splice(@list, 0, $end + 1)); } if ($ldaperror) { print " Can't contact the directory server at $ldapserver:$ldapport\n"; } print "
| Who | What | \n"; print "How to contact | \n" if $ldapserver; foreach $p (sort {uc($a) cmp uc($b)} @peoplelist) { my ($uname, $namepart, $extra) = ('', '', ''); if (exists($closedcheckin{$p})) { $extra = " ($closedcheckin{$p} while tree closed!)"; } $uname = $username{$p}; ($namepart = $p) =~ s/\@.*//; $checkins = $checkincount{$p}; print "|||
|---|---|---|---|---|---|
| $fullname{$p} | \n"; } else { print " | "; } print GenerateUserLookUp($uname, $namepart, $p) . " | \n"; print "$checkins "; print Pluralize('change', $checkins) . "$extra | \n"; print "$curcontact{$p}\n" if $ldapserver; print " | |
\n";
my $mailaddr =
join(',', @peoplelist) . "?subject=Hook%3a%20Build%20Problem";
$mailaddr .= "&cc=$::TreeInfo{$::TreeID}{cchookmail}"
if (exists($::TreeInfo{$::TreeID}{cchookmail}));
print "
Show all checkins.
Send mail to \"the hook\".
\n";
} else {
print "Nobody seems to have made any changes since the tree opened.";
}
my $cvsqueryurl = "cvsqueryform.cgi?" .
"cvsroot=$::TreeInfo{$::TreeID}{repository}" .
"&module=$::TreeInfo{$::TreeID}{module}" .
$branchpart;
my $bip = BatchIdPart('?');
my $tinderboxbase = Param('tinderboxbase');
my $tinderboxlink = '';
$tinderboxlink = "Tinderbox
continuous builds
" if ($tinderboxbase);
my $otherrefs = Param('other_ref_urls');
print "
| Useful links | Help and Documentation | |
|---|---|---|
|
CVS Query Tool Switch to look at a different tree or branch $tinderboxlink Time warp -- view a different day's hook. See some stupid statistics about recent checkins. Administration menu. | $otherrefs |