Mozilla/CVSROOT/commitcheck.pl
despotdaemon%netscape.com f3f4e995ac Pseudo-automatic update of changes made by silver@warwickcompsoc.co.uk.
git-svn-id: svn://10.0.0.236/trunk@149957 18797224-902f-48f8-a5cc-f745e15eee43
2003-12-03 03:09:09 +00:00

552 lines
19 KiB
Perl
Executable File

#!/usr/bin/perl --
# DO NOT EDIT THIS FILE! You must instead go to http://despot.mozilla.org/, and
# tweak things from there.
$mode{'52'} = 'Open';
$branch{'52'} = 'HEAD';
$fullname{'52'} = 'Aurora/RDF BE';
$mode{'172'} = 'Open';
$branch{'172'} = 'HEAD';
$fullname{'172'} = 'BeOS-based gfx and widget';
$mode{'53'} = 'Open';
$branch{'53'} = 'HEAD';
$fullname{'53'} = 'Berkeley DB';
$mode{'166'} = 'Open';
$branch{'166'} = 'HEAD';
$fullname{'166'} = 'Browser';
$mode{'55'} = 'Open';
$branch{'55'} = 'HEAD';
$fullname{'55'} = 'Build Config';
$mode{'164'} = 'Restricted';
$branch{'164'} = 'HEAD';
$fullname{'164'} = 'chimera';
$blessed{'164'} = ['saari%netscape.com','bryner%brianryner.com','brendan%mozilla.org',];
$super{'164'} = ['hyatt%mozilla.org','sfraser%netscape.com','hewitt%netscape.com','ben%bengoodger.com','beard%netscape.com','pinkerton%netscape.com',];
$mode{'146'} = 'Restricted';
$branch{'146'} = 'NSPRPUB_PRE_4_2_CLIENT_BRANCH';
$fullname{'146'} = 'Client NSPR';
$blessed{'146'} = ['sfraser%netscape.com','sdagley%netscape.com','mkaply%us.ibm.com','lpham%netscape.com','jje%mac.com','granrose%netscape.com',];
$super{'146'} = ['wchang0222%aol.com','seawood%netscape.com','darin%meer.net','leaf%mozilla.org',];
$mode{'96'} = 'Open';
$branch{'96'} = 'HEAD';
$fullname{'96'} = 'Clipping and Compositing';
$mode{'56'} = 'Open';
$branch{'56'} = 'HEAD';
$fullname{'56'} = 'Composer';
$mode{'171'} = 'Open';
$branch{'171'} = 'HEAD';
$fullname{'171'} = 'Cookies and Permissions';
$mode{'4'} = 'Open';
$branch{'4'} = 'HEAD';
$fullname{'4'} = 'default';
$defaultid = '4';
$mode{'3'} = 'Closed';
$branch{'3'} = 'HEAD';
$fullname{'3'} = 'despotaccess';
$blessed{'3'} = [];
$super{'3'} = ['despotdaemon%netscape.com','myk%mozilla.org',];
$mode{'59'} = 'Restricted';
$branch{'59'} = 'HEAD';
$fullname{'59'} = 'Directory SDK';
$blessed{'59'} = ['seawood%netscape.com','richm%netscape.com','etsai%netscape.com','djani%netscape.com',];
$super{'59'} = ['leif%ogre.com','dmose%mozilla.org','mhein%sun.com','mcs%netscape.com',];
$mode{'103'} = 'Open';
$branch{'103'} = 'HEAD';
$fullname{'103'} = 'Document Object Model';
$mode{'46'} = 'Open';
$branch{'46'} = 'HEAD';
$fullname{'46'} = 'ef';
$mode{'101'} = 'Open';
$branch{'101'} = 'HEAD';
$fullname{'101'} = 'Embeddable Web Browser';
$mode{'177'} = 'Open';
$branch{'177'} = 'HEAD';
$fullname{'177'} = 'GFX and Widget - General';
$mode{'178'} = 'Open';
$branch{'178'} = 'HEAD';
$fullname{'178'} = 'GFX and Widget - Mac';
$mode{'49'} = 'Open';
$branch{'49'} = 'HEAD';
$fullname{'49'} = 'GTK';
$mode{'144'} = 'Open';
$branch{'144'} = 'HEAD';
$fullname{'144'} = 'GTK Embedding Widget';
$mode{'174'} = 'Open';
$branch{'174'} = 'HEAD';
$fullname{'174'} = 'Help System';
$mode{'62'} = 'Open';
$branch{'62'} = 'HEAD';
$fullname{'62'} = 'HTML to Text/PostScript Translation';
$mode{'67'} = 'Open';
$branch{'67'} = 'HEAD';
$fullname{'67'} = 'I18N Library';
$mode{'64'} = 'Open';
$branch{'64'} = 'HEAD';
$fullname{'64'} = 'Image Handling: JPEG';
$mode{'155'} = 'Open';
$branch{'155'} = 'HEAD';
$fullname{'155'} = 'Image Handling: MNG';
$mode{'65'} = 'Open';
$branch{'65'} = 'HEAD';
$fullname{'65'} = 'Image Handling: PNG';
$mode{'63'} = 'Open';
$branch{'63'} = 'HEAD';
$fullname{'63'} = 'ImageLib';
$mode{'69'} = 'Open';
$branch{'69'} = 'HEAD';
$fullname{'69'} = 'Java and JS Capability-Based Security';
$mode{'130'} = 'Open';
$branch{'130'} = 'HEAD';
$fullname{'130'} = 'Java APIs for DOM';
$mode{'127'} = 'Open';
$branch{'127'} = 'HEAD';
$fullname{'127'} = 'Java APIs to WebShell';
$mode{'68'} = 'Open';
$branch{'68'} = 'HEAD';
$fullname{'68'} = 'Java Stubs';
$mode{'128'} = 'Open';
$branch{'128'} = 'HEAD';
$fullname{'128'} = 'Java to XPCOM Bridge';
$mode{'133'} = 'Open';
$branch{'133'} = 'HEAD';
$fullname{'133'} = 'Java Utility Classes';
$mode{'129'} = 'Open';
$branch{'129'} = 'HEAD';
$fullname{'129'} = 'Java-Implemented Plugins';
$mode{'70'} = 'Restricted';
$branch{'70'} = 'HEAD';
$fullname{'70'} = 'JavaScript';
$blessed{'70'} = ['timeless%mozdev.org','mike+mozilla%meer.net','cls%seawood.org','bratell%lysator.liu.se',];
$super{'70'} = ['shaver%mozilla.org','rogerl33%aol.com','khanson%netscape.com','jband%netscape.com','brendan%mozilla.org',];
$mode{'71'} = 'Open';
$branch{'71'} = 'HEAD';
$fullname{'71'} = 'JavaScript Debugger';
$mode{'114'} = 'Open';
$branch{'114'} = 'HEAD';
$fullname{'114'} = 'js-tests';
$mode{'72'} = 'Open';
$branch{'72'} = 'HEAD';
$fullname{'72'} = 'LiveConnect';
$mode{'136'} = 'Closed';
$branch{'136'} = 'HEAD';
$fullname{'136'} = 'Locked-Content';
$blessed{'136'} = [];
$super{'136'} = ['hyatt%mozilla.org',];
$mode{'123'} = 'Open';
$branch{'123'} = 'HEAD';
$fullname{'123'} = 'Mail/News';
$mode{'165'} = 'Open';
$branch{'165'} = 'HEAD';
$fullname{'165'} = 'MathML';
$mode{'124'} = 'Open';
$branch{'124'} = 'HEAD';
$fullname{'124'} = 'MIME';
$mode{'157'} = 'Open';
$branch{'157'} = 'HEAD';
$fullname{'157'} = 'Movemail';
$mode{'112'} = 'Open';
$branch{'112'} = 'HEAD';
$fullname{'112'} = 'Mozilla Tools';
$mode{'19'} = 'Open';
$branch{'19'} = 'HEAD';
$fullname{'19'} = 'mozilla-toplevel';
$mode{'147'} = 'Open';
$branch{'147'} = 'HEAD';
$fullname{'147'} = 'Mstone';
$mode{'77'} = 'Open';
$branch{'77'} = 'HEAD';
$fullname{'77'} = 'NetLib';
$mode{'102'} = 'Open';
$branch{'102'} = 'HEAD';
$fullname{'102'} = 'New HTML Parser';
$mode{'100'} = 'Open';
$branch{'100'} = 'HEAD';
$fullname{'100'} = 'New HTML Style System';
$mode{'98'} = 'Open';
$branch{'98'} = 'HEAD';
$fullname{'98'} = 'New Layout Engine';
$mode{'122'} = 'Open';
$branch{'122'} = 'HEAD';
$fullname{'122'} = 'News';
$mode{'78'} = 'Restricted';
$branch{'78'} = 'HEAD';
$fullname{'78'} = 'NSPR';
$blessed{'78'} = ['sfraser%netscape.com','sdagley%netscape.com','kirk.erickson%sun.com',];
$super{'78'} = ['darin%meer.net','srinivas%netscape.com','seawood%netscape.com','wchang0222%aol.com',];
$mode{'163'} = 'Restricted';
$branch{'163'} = 'NSS_3_3_BRANCH';
$fullname{'163'} = 'NSS Stable Release Branch';
$blessed{'163'} = [];
$super{'163'} = ['mhein%sun.com','tfox%netscape.com','sonja.mirtitsch%sun.com','nicolson%netscape.com','nelsonb%netscape.com','kirk.erickson%sun.com','jpierre%netscape.com','javi%netscape.com','ian.mcgreer%sun.com','glen.beasley%sun.com','ddrinan%netscape.com','bishakhabanerjee%netscape.com','wchang0222%aol.com','relyea%netscape.com',];
$mode{'159'} = 'Open';
$branch{'159'} = 'HEAD';
$fullname{'159'} = 'NSS Trunk';
$mode{'162'} = 'Open';
$branch{'162'} = 'HEAD';
$fullname{'162'} = 'P3P';
$mode{'111'} = 'Open';
$branch{'111'} = 'HEAD';
$fullname{'111'} = 'PerlConnect';
$mode{'113'} = 'Open';
$branch{'113'} = 'HEAD';
$fullname{'113'} = 'Photon';
$mode{'81'} = 'Open';
$branch{'81'} = 'HEAD';
$fullname{'81'} = 'Plugins';
$mode{'82'} = 'Open';
$branch{'82'} = 'HEAD';
$fullname{'82'} = 'Preferences';
$mode{'120'} = 'Open';
$branch{'120'} = 'HEAD';
$fullname{'120'} = 'Profile Manager';
$mode{'83'} = 'Open';
$branch{'83'} = 'HEAD';
$fullname{'83'} = 'Progress Window';
$mode{'161'} = 'Open';
$branch{'161'} = 'HEAD';
$fullname{'161'} = 'Qt-based gfx and widget';
$mode{'84'} = 'Open';
$branch{'84'} = 'HEAD';
$fullname{'84'} = 'Registry';
$mode{'143'} = 'Open';
$branch{'143'} = 'HEAD';
$fullname{'143'} = 'Remote XPCOM';
$mode{'138'} = 'Open';
$branch{'138'} = 'HEAD';
$fullname{'138'} = 'Rhino';
$mode{'145'} = 'Restricted';
$branch{'145'} = 'HEAD';
$fullname{'145'} = 'security';
$blessed{'145'} = ['jgmyers%netscape.com','jag%tty.nl','cotter%netscape.com','cls%seawood.org','bryner%brianryner.com','alecf%flett.org','scc%mozilla.org',];
$super{'145'} = ['mhein%sun.com','wchang0222%aol.com','tfox%netscape.com','sonja.mirtitsch%sun.com','rangansen%netscape.com','nicolson%netscape.com','nelsonb%netscape.com','kirk.erickson%sun.com','kaie%kuix.de','jpierre%netscape.com','javi%netscape.com','ian.mcgreer%sun.com','glen.beasley%sun.com','chrisk%netscape.com','bishakhabanerjee%netscape.com','thayes%netscape.com','relyea%netscape.com','ddrinan%netscape.com',];
$mode{'151'} = 'Open';
$branch{'151'} = 'HEAD';
$fullname{'151'} = 'Security - Mozilla PSM Glue';
$mode{'86'} = 'Open';
$branch{'86'} = 'HEAD';
$fullname{'86'} = 'Security Stubs';
$mode{'110'} = 'Open';
$branch{'110'} = 'HEAD';
$fullname{'110'} = 'Silent Download';
$mode{'115'} = 'Open';
$branch{'115'} = 'HEAD';
$fullname{'115'} = 'small-devices';
$mode{'87'} = 'Open';
$branch{'87'} = 'HEAD';
$fullname{'87'} = 'SmartUpdate';
$mode{'173'} = 'Open';
$branch{'173'} = 'HEAD';
$fullname{'173'} = 'Standalone Composer';
$mode{'170'} = 'Open';
$branch{'170'} = 'HEAD';
$fullname{'170'} = 'Standalone Mail';
$mode{'160'} = 'Open';
$branch{'160'} = 'HEAD';
$fullname{'160'} = 'String';
$mode{'169'} = 'Open';
$branch{'169'} = 'HEAD';
$fullname{'169'} = 'toolkit';
$mode{'154'} = 'Open';
$branch{'154'} = 'HEAD';
$fullname{'154'} = 'tools';
$mode{'158'} = 'Open';
$branch{'158'} = 'HEAD';
$fullname{'158'} = 'URI Loader';
$mode{'156'} = 'Open';
$branch{'156'} = 'HEAD';
$fullname{'156'} = 'ViXEn';
$mode{'175'} = 'Open';
$branch{'175'} = 'HEAD';
$fullname{'175'} = 'Win32-Based GFX and Widget';
$mode{'121'} = 'Open';
$branch{'121'} = 'HEAD';
$fullname{'121'} = 'Xlib-based gfx + widget';
$mode{'88'} = 'Open';
$branch{'88'} = 'HEAD';
$fullname{'88'} = 'XML';
$mode{'141'} = 'Open';
$branch{'141'} = 'HEAD';
$fullname{'141'} = 'xmlterm';
$mode{'90'} = 'Open';
$branch{'90'} = 'HEAD';
$fullname{'90'} = 'XP File Handling';
$mode{'137'} = 'Open';
$branch{'137'} = 'HEAD';
$fullname{'137'} = 'XPApps';
$mode{'89'} = 'Open';
$branch{'89'} = 'HEAD';
$fullname{'89'} = 'XPCOM';
$mode{'118'} = 'Open';
$branch{'118'} = 'HEAD';
$fullname{'118'} = 'XPConnect';
$mode{'117'} = 'Open';
$branch{'117'} = 'HEAD';
$fullname{'117'} = 'XPIDL';
$mode{'150'} = 'Open';
$branch{'150'} = 'HEAD';
$fullname{'150'} = 'XPInstall';
$mode{'106'} = 'Open';
$branch{'106'} = 'HEAD';
$fullname{'106'} = 'XPToolkit';
$mode{'140'} = 'Open';
$branch{'140'} = 'HEAD';
$fullname{'140'} = 'XSLT Processor';
$mode{'135'} = 'Open';
$branch{'135'} = 'HEAD';
$fullname{'135'} = 'xul.css';
$mode{'93'} = 'Open';
$branch{'93'} = 'HEAD';
$fullname{'93'} = 'Zlib';
sub GetT {
($b,$_) = (@_);
if ($b eq 'HEAD') {
if (m:^mozilla/extensions/vixen/.*$:) {return '156';}
if (m:^mozilla/rdf/.*$:) {return '52';}
if (m:^mozilla/mailnews/movemail/.*$:) {return '157';}
if (m:^mozilla/dbm/.*$:) {return '53';}
if (m:^mozilla/uriloader/.*$:) {return '158';}
if (m:^mozilla/build/.*$:) {return '55';}
if (m:^mozilla/config/.*$:) {return '55';}
if (m:^mozilla/l10n/.*$:) {return '55';}
if (m:^mozilla/editor/.*$:) {return '56';}
if (m:^mozilla/string/.*$:) {return '160';}
if (m:^mozilla/directory/buildsdk\.txt$:) {return '59';}
if (m:^mozilla/directory/c-sdk/.*$:) {return '59';}
if (m:^mozilla/directory/ldapsdk\.mak$:) {return '59';}
if (m:^mozilla/directory/ldapsdk\.mk$:) {return '59';}
if (m:^mozilla/directory/Makefile$:) {return '59';}
if (m:^mozilla/gfx/src/qt/.*$:) {return '161';}
if (m:^mozilla/widget/src/qt/.*$:) {return '161';}
if (m:^gfx/src/ps/.*$:) {return '62';}
if (m:^mozilla/extensions/p3p/.*$:) {return '162';}
if (m:^mozilla/modules/libpr0n/.*$:) {return '63';}
if (m:^mozilla/chimera/.*$:) {return '164';}
if (m:^jpeg$:) {return '64';}
if (m:^mozilla/layout/mathml/.*$:) {return '165';}
if (m:^mozilla/modules/libimg/png/.*$:) {return '65';}
if (m:^mozilla/browser/.*$:) {return '166';}
if (m:^mozilla/chrome/.*$:) {return '166';}
if (m:^mozilla/toolkit/.*$:) {return '166';}
if (m:^mozilla/intl/.*$:) {return '67';}
if (m:^mozilla/modules/oji/.*$:) {return '68';}
if (m:^mozilla/nav-java/.*$:) {return '68';}
if (m:^mozilla/sun-java/.*$:) {return '68';}
if (m:^mozilla/mail/.*$:) {return '170';}
if (m:^mozilla/caps/.*$:) {return '69';}
if (m:^mozilla/extensions/cookie$:) {return '171';}
if (m:^js/src/*\.c$:) {return '70';}
if (m:^js/src/*\.def$:) {return '70';}
if (m:^js/src/*\.h$:) {return '70';}
if (m:^js/src/*\.m*k$:) {return '70';}
if (m:^js/src/*\.tbl$:) {return '70';}
if (m:^js/src/*akefile.*$:) {return '70';}
if (m:^mozilla/gfx/src/beos$:) {return '172';}
if (m:^mozilla/widget/src/beos$:) {return '172';}
if (m:^mozilla/extensions/jsd/.*$:) {return '71';}
if (m:^mozilla/js/jsd/.*$:) {return '71';}
if (m:^mozilla/extensions/help$:) {return '174';}
if (m:^js/src/liveconnect/.*$:) {return '72';}
if (m:^mozilla/gfx/src/windows/.*$:) {return '175';}
if (m:^mozilla/widget/src/windows/.*$:) {return '175';}
if (m:^mozilla/netwerk/.*$:) {return '77';}
if (m:^mozilla/gfx/public/.*$:) {return '177';}
if (m:^mozilla/widget/public/.*$:) {return '177';}
if (m:^mozilla/nsprpub/.*$:) {return '78';}
if (m:^mozilla/gfx/src/mac/.*$:) {return '178';}
if (m:^mozilla/widget/src/mac/.*$:) {return '178';}
if (m:^mozilla/modules/plugin/.*$:) {return '81';}
if (m:^mozilla/modules/libpref/.*$:) {return '82';}
if (m:^mozilla/modules/progress/.*$:) {return '83';}
if (m:^mozilla/modules/libreg/.*$:) {return '84';}
if (m:^mozilla/modules/security/.*$:) {return '86';}
if (m:^mozilla/modules/softupdt/.*$:) {return '87';}
if (m:^mozilla/content/xml/.*$:) {return '88';}
if (m:^mozilla/expat/.*$:) {return '88';}
if (m:^mozilla/extensions/xmlextras/.*$:) {return '88';}
if (m:^mozilla/xpcom/.*$:) {return '89';}
if (m:^xpcom/io$:) {return '90';}
if (m:^mozilla/modules/zlib/.*$:) {return '93';}
if (m:^mozilla/view/.*$:) {return '96';}
if (m:^mozilla/layout/base/.*$:) {return '98';}
if (m:^mozilla/layout/build/.*$:) {return '98';}
if (m:^mozilla/layout/doc/.*$:) {return '98';}
if (m:^mozilla/layout/html/.*$:) {return '98';}
if (m:^mozilla/layout/macbuild/.*$:) {return '98';}
if (m:^mozilla/layout/tools/.*$:) {return '98';}
if (m:^modules/libpr0n/decoders/mng/.*$:) {return '155';}
if (m:^mozilla/modules/libimg/mng/.*$:) {return '155';}
if (m:^mozilla/content/html/style/.*$:) {return '100';}
if (m:^mozilla/content/shared/.*$:) {return '100';}
if (m:^mozilla/embedding/.*$:) {return '101';}
if (m:^mozilla/webshell/.*$:) {return '101';}
if (m:^mozilla/htmlparser/.*$:) {return '102';}
if (m:^mozilla/content/base/.*$:) {return '103';}
if (m:^mozilla/content/events/.*$:) {return '103';}
if (m:^mozilla/content/html/content/.*$:) {return '103';}
if (m:^mozilla/content/html/document/.*$:) {return '103';}
if (m:^mozilla/dom/.*$:) {return '103';}
if (m:^mozilla/js/rhino/.*$:) {return '138';}
if (m:^mozilla/xpfe/.*$:) {return '137';}
if (m:^mozilla/js/tests$:) {return '114';}
if (m:^js/src/perlconnect$:) {return '111';}
if (m:^mozilla/silentdl/.*$:) {return '110';}
if (m:^mozilla/extensions/transformiix/.*$:) {return '140';}
if (m:^gfx/src/photon/.*$:) {return '113';}
if (m:^widget/src/photon/.*$:) {return '113';}
if (m:^mozilla/content/xul/.*$:) {return '106';}
if (m:^mozilla/layout/xul/.*$:) {return '106';}
if (m:^mozilla/profile$:) {return '120';}
if (m:^mozilla/tools/.*$:) {return '112';}
if (m:^xpcom/typelib$:) {return '117';}
if (m:^js/src/xpconnect$:) {return '118';}
if (m:^xpcom/reflect/xptcall$:) {return '118';}
if (m:^xpcom/reflect/xptinfo$:) {return '118';}
if (m:^mozilla/mailnews/news/.*$:) {return '122';}
if (m:^mozilla/mailnews/[^/]*$:) {return '123';}
if (m:^mozilla/mailnews/mime/[^/]*$:) {return '124';}
if (m:^mozilla/java/xpcom/.*$:) {return '128';}
if (m:^mozilla/java/plugins/.*$:) {return '129';}
if (m:^mozilla/java/webclient/.*$:) {return '127';}
if (m:^mozilla/java/dom/.*$:) {return '130';}
if (m:^mozilla/java/util/.*$:) {return '133';}
if (m:^CVSROOT/commitcheck\.pl$:) {return '3';}
if (m:^CVSROOT/passwd$:) {return '3';}
if (m:^mozilla/extensions/xmlterm/.*$:) {return '141';}
if (m:^xpcom/remote$:) {return '143';}
if (m:^mozilla/security/coreconf/.*$:) {return '145';}
if (m:^mozilla/security/jss/.*$:) {return '145';}
if (m:^mozilla/security/nss/.*$:) {return '145';}
if (m:^embedding/browser/gtk$:) {return '144';}
if (m:^composer$:) {return '173';}
if (m:^mozilla/mstone/.*$:) {return '147';}
if (m:^mozilla/[^/]*$:) {return '19';}
if (m:^mozilla/xpinstall/.*$:) {return '150';}
if (m:^mozilla/gfx/src/xlib/.*$:) {return '121';}
if (m:^mozilla/widget/src/xlib/.*$:) {return '121';}
if (m:^mozilla/security/manager/.*$:) {return '151';}
if (m:^mozilla/ef/.*$:) {return '46';}
if (m:^mozilla/gfx/src/gtk/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtk/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtk2/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtksuperwin/.*$:) {return '49';}
}
if ($b eq 'NSPRPUB_PRE_4_2_CLIENT_BRANCH') {
if (m:^mozilla/nsprpub/.*$:) {return '146';}
}
if ($b eq 'NSS_3_3_BRANCH') {
if (m:^mozilla/security/coreconf/.*$:) {return '163';}
if (m:^mozilla/security/nss/.*$:) {return '163';}
}
return '';
}
$debug = 0;
$origrepository = shift(@ARGV);
@files = @ARGV;
$envcvsroot = $ENV{'CVSROOT'};
open( REP, "<CVS/Repository");
$repository = <REP>;
chop($repository);
close(REP);
$repository =~ s:^$envcvsroot/::;
$doit = 0;
$| = 1;
if( $debug){
print STDERR "----------------------------------------------\n";
print STDERR "files: @files\n";
print STDERR "origrepository: $origrepository\n";
print STDERR " repository: $repository\n";
print STDERR "----------------------------------------------\n";
}
open(ENT, "<CVS/Entries" );
while( <ENT> ){
chop;
($d,$fn,$rev,$mod_time,$sticky,$tag) = split(/\//);
if ($tag =~ /^T(.*)$/) {
$fbranch{$fn} = $1;
}
}
close ENT;
foreach $f (@files) {
$b = "";
if (defined $fbranch{$f}) {$b = $fbranch{$f};}
if ($b eq "") {$b = "HEAD";}
$t = GetT($b, "$repository/$f");
if ($debug) {
print STDERR "GetT returned '$t' for '$repository/$f' branch '$b'\n";
}
if ($t eq "") {
$t = $defaultid;
}
if (!defined $mode{$t} || $mode{$t} eq "Open") {
next;
}
if ($debug) {
print STDERR "Checking twig $t\n";
}
# OK, we have a match. See if we're allowed to checkin here.
if ($username eq "") {
$username = $ENV{"CVS_USER"} || getlogin || (getpwuid($<))[0] || "nobody";
if ($debug) {
print STDERR "Username is $username\n";
print STDERR "getlogin returns " . getlogin . "\n";
print STDERR '(getpwuid($<))[0] returns ' . (getpwuid($<))[0] . "\n";
print STDERR "Environment:\n";
foreach $key (sort(keys %ENV)) {
print STDERR $key, '=', $ENV{$key}, "\n";
}
}
}
$ok = 0;
$s = $super{$t};
foreach $u (@$s) {
if ($debug) {
print STDERR "Checking against super $u\n";
}
if ($u eq $username) {
$ok = 1;
break;
}
}
if ($mode{$t} eq "Restricted") {
my $b = $blessed{$t};
foreach $u (@$b) {
if ($debug) {
print STDERR "Checking against blessed $u\n";
}
if ($u eq $username) {
$ok = 1;
break;
}
}
}
if (!$ok) {
print STDERR "You may not check into partition $fullname{$t}\n";
print STDERR "the file $repository/$f on branch $b\n";
print STDERR "If you think you should be allowed to, send mail to\n";
print STDERR "one of the below people:\n";
$s = $super{$t};
foreach $u (@$s) {
$u =~ s/%/@/;
print STDERR " $u\n";
}
exit 1;
}
}
exit 0;