2006-01-13 19:57:25 +03:00
|
|
|
#!/usr/bin/perl -w
|
1998-06-17 01:43:24 +04:00
|
|
|
# -*- Mode: perl; indent-tabs-mode: nil -*-
|
|
|
|
#
|
1999-11-02 02:33:56 +03:00
|
|
|
# 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/
|
1998-06-17 01:43:24 +04:00
|
|
|
#
|
1999-11-02 02:33:56 +03:00
|
|
|
# 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.
|
1998-06-17 01:43:24 +04:00
|
|
|
#
|
|
|
|
# The Original Code is the Bonsai CVS tool.
|
|
|
|
#
|
|
|
|
# The Initial Developer of the Original Code is Netscape Communications
|
1999-11-02 02:33:56 +03:00
|
|
|
# Corporation. Portions created by Netscape are
|
|
|
|
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
|
|
# Rights Reserved.
|
|
|
|
#
|
|
|
|
# Contributor(s):
|
1998-06-17 01:43:24 +04:00
|
|
|
|
|
|
|
#
|
|
|
|
# Unroll a module
|
|
|
|
#
|
1999-10-19 02:55:01 +04:00
|
|
|
|
|
|
|
use strict;
|
|
|
|
|
|
|
|
# Shut up misguided -w warnings about "used only once". "use vars" just
|
|
|
|
# doesn't work for me.
|
|
|
|
|
|
|
|
sub sillyness {
|
|
|
|
my $zz;
|
|
|
|
$zz = $::TreeID;
|
|
|
|
$zz = $::TreeInfo;
|
|
|
|
}
|
|
|
|
|
1999-07-23 22:39:31 +04:00
|
|
|
require 'CGI.pl';
|
1998-06-17 01:43:24 +04:00
|
|
|
|
|
|
|
$|=1;
|
|
|
|
|
1999-07-23 22:39:31 +04:00
|
|
|
print "Content-type: text/html\n\n";
|
1998-06-17 01:43:24 +04:00
|
|
|
|
1999-10-19 02:55:01 +04:00
|
|
|
my $CVS_ROOT = $::FORM{'cvsroot'};
|
1999-07-23 22:39:31 +04:00
|
|
|
$CVS_ROOT = pickDefaultRepository() unless $CVS_ROOT;
|
2004-12-01 03:22:53 +03:00
|
|
|
&validateRepository($CVS_ROOT);
|
1998-06-17 01:43:24 +04:00
|
|
|
|
1999-07-23 22:39:31 +04:00
|
|
|
PutsHeader("CVS Module Analyzer", $CVS_ROOT);
|
1998-06-17 01:43:24 +04:00
|
|
|
|
|
|
|
cvsmenu("align=right width=20%");
|
|
|
|
|
|
|
|
print "
|
|
|
|
<p><b>This tool will show you the directories and files that make up a given
|
|
|
|
cvs module.</b>
|
|
|
|
";
|
|
|
|
|
|
|
|
|
|
|
|
print "
|
|
|
|
<p>
|
|
|
|
<FORM METHOD=GET ACTION='moduleanalyse.cgi'>
|
|
|
|
";
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# module selector
|
|
|
|
#
|
|
|
|
print "
|
|
|
|
|
|
|
|
<nobr><b>Module:</b>
|
|
|
|
<SELECT name='module' size=5>
|
|
|
|
";
|
|
|
|
|
2004-12-01 09:35:28 +03:00
|
|
|
my $inmod = &SanitizeModule($::FORM{module}) || 'default';
|
1999-10-19 02:55:01 +04:00
|
|
|
my $Module = 'default';
|
2004-12-01 07:25:22 +03:00
|
|
|
if( $inmod eq 'all' || $inmod eq 'default' || $inmod eq '' ){
|
1998-06-17 01:43:24 +04:00
|
|
|
print "<OPTION SELECTED VALUE='all'>All Files in the Repository\n";
|
2004-12-01 07:25:22 +03:00
|
|
|
} else {
|
1998-06-17 01:43:24 +04:00
|
|
|
print "<OPTION VALUE='all'>All Files in the Repository\n";
|
2004-12-01 07:25:22 +03:00
|
|
|
print "<OPTION SELECTED VALUE='$inmod'>$inmod\n";
|
|
|
|
$Module = $inmod;
|
1998-06-17 01:43:24 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# Print out all the Different Modules
|
|
|
|
#
|
1999-07-23 22:39:31 +04:00
|
|
|
$::TreeID = $Module if (exists($::TreeInfo{$Module}{'repository'}));
|
|
|
|
LoadDirList();
|
1999-10-19 02:55:01 +04:00
|
|
|
for my $k (sort( grep(!/\*$/, @::LegalDirs) ) ){
|
2004-12-01 07:46:35 +03:00
|
|
|
print "<OPTION value='" . &url_quote($k) . "'>$k\n" if ($k ne $Module);
|
1998-06-17 01:43:24 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
print "</SELECT></NOBR>\n";
|
|
|
|
|
|
|
|
|
|
|
|
print "
|
|
|
|
<br>
|
|
|
|
<br>
|
|
|
|
<INPUT TYPE=HIDDEN NAME=cvsroot VALUE='$CVS_ROOT'>
|
|
|
|
<INPUT TYPE=SUBMIT VALUE='Examine Module'>
|
|
|
|
</FORM>";
|
|
|
|
|
|
|
|
|
2004-12-01 07:46:35 +03:00
|
|
|
if( $inmod ne '' ){
|
|
|
|
my $mod = $inmod;
|
1998-06-17 01:43:24 +04:00
|
|
|
print "<h1>Examining Module '$mod'</h1>\n\n";
|
1999-07-23 22:39:31 +04:00
|
|
|
|
1999-10-19 02:55:01 +04:00
|
|
|
for my $i (sort( grep(!/\*$/, @::LegalDirs) ) ){
|
2004-12-01 07:46:35 +03:00
|
|
|
my $j = &url_quote($i);
|
|
|
|
my $k = &html_quote($i);
|
1998-06-17 01:43:24 +04:00
|
|
|
if( -d "$CVS_ROOT/$i"){
|
|
|
|
print "<dt><tt>Dir: </tt>";
|
2004-12-01 07:46:35 +03:00
|
|
|
print "<a href=rview.cgi?dir=$j&cvsroot=$CVS_ROOT>$k</a>";
|
1998-06-17 01:43:24 +04:00
|
|
|
}
|
|
|
|
elsif ( -r "$CVS_ROOT/$i,v" ){
|
|
|
|
print "<dt><font color=blue><tt>File: </tt></font>";
|
2004-12-01 07:46:35 +03:00
|
|
|
print "<a href=cvsblame.cgi?file=$j&root=$CVS_ROOT>$k</a>";
|
1998-06-17 01:43:24 +04:00
|
|
|
}
|
|
|
|
else {
|
|
|
|
print "<dt><font color=red><tt>Error: </tt></font>";
|
2004-12-01 07:46:35 +03:00
|
|
|
print "$k : Not a file or a directory.";
|
1998-06-17 01:43:24 +04:00
|
|
|
}
|
|
|
|
|
1999-10-19 02:55:01 +04:00
|
|
|
# if( $mod_map->{$i} == $IS_LOCAL ){
|
|
|
|
# print "<font color=blue><tt> LOCAL</tt></font>";
|
|
|
|
# }
|
1998-06-17 01:43:24 +04:00
|
|
|
print "\n";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sub sortTest {
|
1999-07-23 22:39:31 +04:00
|
|
|
if( $_[0] eq $::FORM{sortby} ){
|
1998-06-17 01:43:24 +04:00
|
|
|
return " SELECTED";
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
sub dateTest {
|
1999-07-23 22:39:31 +04:00
|
|
|
if( $_[0] eq $::FORM{date} ){
|
1998-06-17 01:43:24 +04:00
|
|
|
return " CHECKED value=$_[0]";
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
return "value=$_[0]";
|
|
|
|
}
|
|
|
|
}
|