495 lines
16 KiB
Perl
Executable File
495 lines
16 KiB
Perl
Executable File
#!/tools/ns/bin/perl5.004 --
|
|
# DO NOT EDIT THIS FILE! You must instead go to http://despot.mozilla.org/, and
|
|
# tweak things from there.
|
|
|
|
$mode{'95'} = 'Open';
|
|
$branch{'95'} = 'HEAD';
|
|
$fullname{'95'} = '2-D Graphics';
|
|
$mode{'52'} = 'Open';
|
|
$branch{'52'} = 'HEAD';
|
|
$fullname{'52'} = 'Aurora/RDF BE';
|
|
$mode{'53'} = 'Open';
|
|
$branch{'53'} = 'HEAD';
|
|
$fullname{'53'} = 'Berkeley DB';
|
|
$mode{'55'} = 'Open';
|
|
$branch{'55'} = 'HEAD';
|
|
$fullname{'55'} = 'Build Config';
|
|
$mode{'164'} = 'Restricted';
|
|
$branch{'164'} = 'HEAD';
|
|
$fullname{'164'} = 'chimera';
|
|
$blessed{'164'} = ['brendan%mozilla.org',];
|
|
$super{'164'} = ['sfraser%netscape.com','pinkerton%netscape.com','ben%netscape.com','hyatt%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','gordon%netscape.com','beard%netscape.com',];
|
|
$super{'146'} = ['wtc%netscape.com','seawood%netscape.com','leaf%mozilla.org',];
|
|
$mode{'96'} = 'Open';
|
|
$branch{'96'} = 'HEAD';
|
|
$fullname{'96'} = 'Clipping and Compositing';
|
|
$mode{'56'} = 'Open';
|
|
$branch{'56'} = 'HEAD';
|
|
$fullname{'56'} = 'Composer';
|
|
$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',];
|
|
$mode{'59'} = 'Closed';
|
|
$branch{'59'} = 'HEAD';
|
|
$fullname{'59'} = 'Directory SDK';
|
|
$blessed{'59'} = [];
|
|
$super{'59'} = ['leif%ogre.com','dmose%netscape.com','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{'49'} = 'Open';
|
|
$branch{'49'} = 'HEAD';
|
|
$fullname{'49'} = 'GTK';
|
|
$mode{'144'} = 'Open';
|
|
$branch{'144'} = 'HEAD';
|
|
$fullname{'144'} = 'GTK Embedding Widget';
|
|
$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'} = 'Open';
|
|
$branch{'70'} = 'HEAD';
|
|
$fullname{'70'} = 'JavaScript';
|
|
$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%netscape.com',];
|
|
$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','gordon%netscape.com','beard%netscape.com',];
|
|
$super{'78'} = ['srinivas%netscape.com','seawood%netscape.com','wtc%netscape.com',];
|
|
$mode{'163'} = 'Restricted';
|
|
$branch{'163'} = 'NSS_3_3_BRANCH';
|
|
$fullname{'163'} = 'NSS Stable Release Branch';
|
|
$blessed{'163'} = [];
|
|
$super{'163'} = ['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','wtc%netscape.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','jaggernaut%netscape.com','cotter%netscape.com','cls%seawood.org','bryner%netscape.com','scc%mozilla.org','alecf%netscape.com',];
|
|
$super{'145'} = ['wtc%netscape.com','tfox%netscape.com','sonja.mirtitsch%sun.com','rangansen%netscape.com','nicolson%netscape.com','nelsonb%netscape.com','kirk.erickson%sun.com','kaie%netscape.com','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{'160'} = 'Open';
|
|
$branch{'160'} = 'HEAD';
|
|
$fullname{'160'} = 'String';
|
|
$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{'134'} = 'Open';
|
|
$branch{'134'} = 'HEAD';
|
|
$fullname{'134'} = 'Widgets';
|
|
$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:^CVSROOT/commitcheck\.pl$:) {return '3';}
|
|
if (m:^CVSROOT/passwd$:) {return '3';}
|
|
if (m:^mozilla/security/coreconf/.*$:) {return '145';}
|
|
if (m:^mozilla/security/jss/.*$:) {return '145';}
|
|
if (m:^mozilla/security/nss/.*$:) {return '145';}
|
|
if (m:^mozilla/[^/]*$:) {return '19';}
|
|
if (m:^mozilla/gfx/src/xlib/.*$:) {return '121';}
|
|
if (m:^mozilla/widget/src/xlib/.*$:) {return '121';}
|
|
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/timer/src/unix/gtk$:) {return '49';}
|
|
if (m:^mozilla/rdf/.*$:) {return '52';}
|
|
if (m:^mozilla/dbm/.*$:) {return '53';}
|
|
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/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:^gfx/src/ps/.*$:) {return '62';}
|
|
if (m:^mozilla/modules/libimg/.*$:) {return '63';}
|
|
if (m:^mozilla/modules/libutil/.*$:) {return '63';}
|
|
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/caps/.*$:) {return '69';}
|
|
if (m:^js/src/*\.c$:) {return '70';}
|
|
if (m:^js/src/*\.h$:) {return '70';}
|
|
if (m:^mozilla/extensions/jsd/.*$:) {return '71';}
|
|
if (m:^mozilla/js/jsd/.*$:) {return '71';}
|
|
if (m:^js/src/liveconnect/.*$:) {return '72';}
|
|
if (m:^mozilla/netwerk/.*$:) {return '77';}
|
|
if (m:^mozilla/nsprpub/.*$:) {return '78';}
|
|
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/gfx/public/.*$:) {return '95';}
|
|
if (m:^mozilla/gfx/src/windows/.*$:) {return '95';}
|
|
if (m:^mozilla/view/.*$:) {return '96';}
|
|
if (m:^mozilla/layout/.*$:) {return '98';}
|
|
if (m:^modules/libimg/mng/.*$:) {return '155';}
|
|
if (m:^modules/libimg/mngcom/.*$:) {return '155';}
|
|
if (m:^mozilla/embedding/.*$:) {return '101';}
|
|
if (m:^mozilla/webshell/.*$:) {return '101';}
|
|
if (m:^mozilla/htmlparser/.*$:) {return '102';}
|
|
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:^base/src/photon/.*$:) {return '113';}
|
|
if (m:^gfx/src/photon/.*$:) {return '113';}
|
|
if (m:^widget/src/photon/.*$:) {return '113';}
|
|
if (m:^mozilla/widget/public/.*$:) {return '134';}
|
|
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:^mozilla/extensions/xmlterm/.*$:) {return '141';}
|
|
if (m:^xpcom/remote$:) {return '143';}
|
|
if (m:^embedding/browser/gtk$:) {return '144';}
|
|
if (m:^mozilla/mstone/.*$:) {return '147';}
|
|
if (m:^mozilla/xpinstall/.*$:) {return '150';}
|
|
if (m:^mozilla/extensions/psm-glue/.*$:) {return '151';}
|
|
if (m:^mozilla/extensions/vixen/.*$:) {return '156';}
|
|
if (m:^mozilla/mailnews/movemail$:) {return '157';}
|
|
if (m:^mozilla/uriloader/.*$:) {return '158';}
|
|
if (m:^mozilla/string/.*$:) {return '160';}
|
|
if (m:^mozilla/gfx/src/qt/.*$:) {return '161';}
|
|
if (m:^mozilla/widget/src/qt/.*$:) {return '161';}
|
|
if (m:^mozilla/extensions/p3p/.*$:) {return '162';}
|
|
if (m:^mozilla/chimera/.*$:) {return '164';}
|
|
}
|
|
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;
|