#!/usr/bonsaitools/bin/perl -w # -*- Mode: perl; indent-tabs-mode: nil -*- # # The contents of this file are subject to the Netscape Public License # Version 1.0 (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. require 'CGI.pl'; use diagnostics; use strict; sub StupidFuncToShutUpWarningsByUsingVarsAgain { my $z; $z = $::CloseTimeStamp; $z = $::LastGoodTimeStamp; $z = $::MOTD; $z = $::WhiteBoard; $z = $::TreeList; } print "Content-type: text/html\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 "
\n"; if (Param('readonly')) { 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 (@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"; 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}";
$cvsqueryurl.= "&branch=$::TreeInfo{$::TreeID}{branch}"
if ($::TreeInfo{$::TreeID}{branch});
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 |