version 1.12, 1997/11/19 19:07:18 |
version 1.20, 1998/07/23 08:50:52 |
Line 34 require 'cgi-style.pl'; |
|
Line 34 require 'cgi-style.pl'; |
|
|
|
%CVSROOT = ( |
%CVSROOT = ( |
'freebsd', '/home/ncvs', |
'freebsd', '/home/ncvs', |
'openbsd', '/home/OpenBSD/cvs', |
|
'learn', '/c/learncvs', |
'learn', '/c/learncvs', |
|
'mozilla', '/a/mozilla-cvs', |
); |
); |
|
|
|
%CVSROOTdescr = ( |
|
'freebsd', 'FreeBSD', |
|
'learn', 'Learn', |
|
'mozilla', 'Mozilla FreeBSD', |
|
); |
|
|
$cvstreedefault = 'freebsd'; |
$cvstreedefault = 'freebsd'; |
$cvstree = $cvstreedefault; |
$cvstree = $cvstreedefault; |
$cvsroot = $CVSROOT{"$cvstree"} || "/home/ncvs"; |
$cvsroot = $CVSROOT{"$cvstree"} || "/home/ncvs"; |
Line 57 display diffs between arbitrary revisions. |
|
Line 63 display diffs between arbitrary revisions. |
|
<p> |
<p> |
If you would like to use this CGI script on your own web server and |
If you would like to use this CGI script on your own web server and |
CVS tree, see <A HREF=\"http://www.freebsd.org/~fenner/cvsweb/\"> |
CVS tree, see <A HREF=\"http://www.freebsd.org/~fenner/cvsweb/\"> |
the CVSWeb distribution site</A>. |
the CVSWeb distribution site</A> or the <a |
|
href=\"http://www.freebsd.org/cgi/cvsweb.cgi/www/data/cgi/cvsweb.cgi\">current</a> FreeBSD version. |
<p> |
<p> |
Please send any suggestions, comments, etc. to |
Please send any suggestions, comments, etc. to |
<A HREF=\"mailto:fenner\@freebsd.org\">Bill Fenner <fenner\@freebsd.org></A> |
<A HREF=\"mailto:fenner\@freebsd.org\">Bill Fenner <fenner\@freebsd.org></A> |
Line 107 if (!-d $cvsroot) { |
|
Line 114 if (!-d $cvsroot) { |
|
} |
} |
|
|
|
|
|
{ |
|
local(@foo, $i); |
|
local($scriptname) = $ENV{'SCRIPT_NAME'}; |
|
foreach (keys %CVSROOT) { |
|
if (-d $CVSROOT{$_}) { |
|
push(@foo, $_); |
|
} |
|
} |
|
if ($#foo > 1) { |
|
$intro .= "<p>\nThis script support the following CVS trees:\n"; |
|
for($i = 0; $i <= $#foo; $i++) { |
|
$intro .= qq{<a href="$scriptname?cvsroot=$foo[$i]">} . |
|
($CVSROOTdescr{$foo[$i]} ? |
|
$CVSROOTdescr{$foo[$i]} : $foo[$i]) . qq{</a>} . |
|
($i == $#foo ? ".\n" : ",\n"); |
|
} |
|
} |
|
} |
|
|
|
|
if (-d $fullname) { |
if (-d $fullname) { |
opendir(DIR, $fullname) || &fatal("404 Not Found","$where: $!"); |
opendir(DIR, $fullname) || &fatal("404 Not Found","$where: $!"); |
@dir = readdir(DIR); |
@dir = readdir(DIR); |
Line 118 if (-d $fullname) { |
|
Line 145 if (-d $fullname) { |
|
print &html_header("/$where"); |
print &html_header("/$where"); |
print $shortinstr; |
print $shortinstr; |
} |
} |
print "<p>Current directory: <b>/$where</b>\n"; |
print "<p>"; |
|
print "Current CVS tree: <b>$cvstree</b><br>\n" |
|
if $cvstree ne $cvstreedefault; |
|
print "Current directory: <b>/$where</b>\n"; |
print "<P><HR NOSHADE>\n"; |
print "<P><HR NOSHADE>\n"; |
# Using <MENU> in this manner violates the HTML2.0 spec but |
# Using <MENU> in this manner violates the HTML2.0 spec but |
# provides the results that I want in most browsers. Another |
# provides the results that I want in most browsers. Another |
Line 142 if (-d $fullname) { |
|
Line 172 if (-d $fullname) { |
|
if ($_ eq '.') { |
if ($_ eq '.') { |
next; |
next; |
} |
} |
|
# ignore CVS lock and stale NFS files |
|
next if /^#cvs\.|^,|^\.nfs/; |
|
|
if (s|^Attic/||) { |
if (s|^Attic/||) { |
$attic = " (in the Attic)"; |
$attic = " (in the Attic)"; |
} else { |
} else { |
Line 228 print("going to dolog($fullname)\n") if ($verbose); |
|
Line 261 print("going to dolog($fullname)\n") if ($verbose); |
|
# Display a form offering diffs between said tags |
# Display a form offering diffs between said tags |
} else { |
} else { |
# Assume it's a module name with a potential path following it. |
# Assume it's a module name with a potential path following it. |
($module = $where) =~ s|/.*||; |
$xtra = $& if (($module = $where) =~ s|/.*||); |
$xtra = $&; |
|
# Is there an indexed version of modules? |
# Is there an indexed version of modules? |
if (open(MODULES, "$cvsroot/CVSROOT/modules")) { |
if (open(MODULES, "$cvsroot/CVSROOT/modules")) { |
while (<MODULES>) { |
while (<MODULES>) { |
|
|
if (/^1\.1\.1\.\d+$/) { |
if (/^1\.1\.1\.\d+$/) { |
print " <i>(vendor branch)</i>"; |
print " <i>(vendor branch)</i>"; |
} |
} |
print " <i>" . &ctime($date{$_}) . "</i> by "; |
print " <i>" . &ctime($date{$_}) . " UTC</i> by "; |
print "<i>" . $author{$_} . "</i>\n"; |
print "<i>" . $author{$_} . "</i>\n"; |
if ($revsym{$_}) { |
if ($revsym{$_}) { |
print "<BR>CVS Tags: <b>$revsym{$_}</b>"; |
print "<BR>CVS Tags: <b>$revsym{$_}</b>"; |