===================================================================
RCS file: /cvs/cvsweb/cvsweb.cgi,v
retrieving revision 1.1.1.10
retrieving revision 3.28
diff -u -p -r1.1.1.10 -r3.28
--- cvsweb/cvsweb.cgi 2000/10/07 07:50:18 1.1.1.10
+++ cvsweb/cvsweb.cgi 2000/09/30 18:27:16 3.28
@@ -43,7 +43,7 @@
# SUCH DAMAGE.
#
# $zId: cvsweb.cgi,v 1.103 2000/09/20 17:02:29 jumager Exp $
-# $kId: cvsweb.cgi,v 1.33 2000/10/07 07:44:12 knu Exp $
+# $Id: cvsweb.cgi,v 3.28 2000/09/30 18:27:16 knu Exp $
#
###
@@ -79,7 +79,6 @@ use vars qw (
$tabstop $state $annTable $sel $curbranch @HideModules
$module $use_descriptions %descriptions @mytz $dwhere $moddate
$use_moddate $has_zlib $gzip_open
- $LOG_FILESEPARATOR $LOG_REVSEPARATOR
);
sub printDiffSelect($);
@@ -160,9 +159,6 @@ $checkout_magic = $show_subdir_lastmod = $show_log_in_
$navigationHeaderColor = $tableBorderColor = $markupLogColor =
$tabstop = $use_moddate = $moddate = $gzip_open = undef;
-$LOG_FILESEPARATOR = q/^={77}$/;
-$LOG_REVSEPARATOR = q/^-{28}$/;
-
##### End of configuration variables #####
use Time::Local;
@@ -283,24 +279,25 @@ foreach (keys %DEFAULTVALUE)
}
$barequery = "";
-my @barequery;
foreach (@stickyvars) {
# construct a query string with the sticky non default parameters set
if (defined($input{$_}) && $input{$_} ne '' &&
!(defined($DEFAULTVALUE{$_}) && $input{$_} eq $DEFAULTVALUE{$_})) {
- push @barequery, join('=', urlencode($_), urlencode($input{$_}));
+ if ($barequery) {
+ $barequery = $barequery . "&";
+ }
+ my $thisval = urlencode($_) . "=" . urlencode($input{$_});
+ $barequery .= $thisval;
}
}
# is there any query ?
-if (@barequery) {
- $barequery = join('&', @barequery);
+if ($barequery) {
$query = "?$barequery";
- $barequery = "&$barequery";
+ $barequery = "&" . $barequery;
}
else {
$query = "";
}
-undef @barequery;
# get actual parameters
$sortby = $input{"sortby"};
@@ -348,8 +345,7 @@ if ($input{'cvsroot'} && $CVSROOT{$input{'cvsroot'}})
$cvsroot = $CVSROOT{$cvstree};
# create icons out of description
-my $k;
-foreach $k (keys %ICONS) {
+foreach my $k (keys %ICONS) {
no strict 'refs';
my ($itxt,$ipath,$iwidth,$iheight) = @{$ICONS{$k}};
if ($ipath) {
@@ -359,7 +355,6 @@ foreach $k (keys %ICONS) {
${"${k}icon"} = $itxt;
}
}
-undef $k;
my $config_cvstree = "$config-$cvstree";
@@ -370,7 +365,6 @@ if (-f $config_cvstree) {
sprintf('Error in loading configuration file: %s
%s
',
$config_cvstree, &htmlify($@)));
}
-undef $config_cvstree;
$prcategories = '(?:' . join('|', @prcategories) . ')';
$prcgi .= '%s' if defined($prcgi) && $prcgi !~ /%s/;
@@ -936,13 +930,13 @@ sub htmlify($;$) {
if ($extra) {
# get PR #'s as link ..
if (defined($prcgi)) {
- 1 while $string =~ s`\b(pr[:#]?\s*(?:#?\d+[,\s]\s*)*#?)(\d+)\b`$1 . &link($2, sprintf($prcgi, $2))`ie; # `;
- $string =~ s`\b${prcategories}/(\d+)\b`&link($&, sprintf($prcgi, $1))`igeo; # `;
+ 1 while $string =~ s`\b(pr[:#]?\s*(?:#?\d+[,\s]\s*)*#?)(\d+)\b`$1 . &link($2, sprintf($prcgi, $2))`ie; # `
+ $string =~ s`\b${prcategories}/(\d+)\b`&link($&, sprintf($prcgi, $1))`igeo; # `
}
# get manpage specs as link ..
if (defined($mancgi)) {
- $string =~ s`\b([a-zA-Z]\w+)(?:\(([0-9n])\)\B|\.([0-9n])\b)`&link($&, sprintf($mancgi, $2 ne '' ? $2 : $3, $1))`ge; # `x;
+ $string =~ s`\b([a-zA-Z]\w+)\(([0-9n])\)\B`&link($&, sprintf($mancgi, $2, $1))`ge; # `
}
}
@@ -982,7 +976,7 @@ sub spacedHtmlText($;$) {
sub link($$) {
my($name, $where) = @_;
- return "$name";
+ return "$name\n";
}
sub revcmp($$) {
@@ -1147,6 +1141,11 @@ sub doAnnotate($$) {
($pathname = $where) =~ s/(Attic\/)?[^\/]*$//;
($filename = $where) =~ s/^.*\///;
+ http_header();
+
+ navigateHeader($scriptwhere,$pathname,$filename,$rev, "annotate");
+ print "
Annotation of $pathname$filename, Revision $rev
\n";
+
# this seems to be necessary
$| = 1; $| = 0; # Flush
@@ -1156,7 +1155,7 @@ sub doAnnotate($$) {
# the public domain.
# we could abandon the use of rlog, rcsdiff and co using
# the cvsserver in a similiar way one day (..after rewrite)
- $pid = open2($reader, $writer, "cvs -Rl server") || fatal ("500 Internal Error",
+ $pid = open2($reader, $writer, "cvs server") || fatal ("500 Internal Error",
"Fatal Error - unable to open cvs for annotation");
# OK, first send the request to the server. A simplified example is:
@@ -1208,11 +1207,6 @@ sub doAnnotate($$) {
# were nicer about buffering, then we could just leave it open, I think.
close ($writer) || die "cannot close: $!";
- http_header();
-
- navigateHeader($scriptwhere,$pathname,$filename,$rev, "annotate");
- print "Annotation of $pathname$filename, Revision $rev
\n";
-
# Ready to get the responses from the server.
# For example:
# E Annotations for foo/xx
@@ -1245,41 +1239,33 @@ sub doAnnotate($$) {
}
elsif ($words[0] eq "M") {
$lineNr++;
- (my $lrev = substr($_, 2, 13)) =~ y/ //d;
- (my $lusr = substr($_, 16, 9)) =~ y/ //d;
- my $line = substr($_, 36);
- my $isCurrentRev = ($rev eq $lrev);
+ my $lrev = substr ($_, 2, 13);
+ my $lusr = substr ($_, 16, 9);
+ my $line = substr ($_, 36);
# we should parse the date here ..
if ($lrev eq $oldLrev) {
- $revprint = sprintf('%-8s', '');
+ $revprint = " ";
}
else {
- $revprint = sprintf('%-8s', $lrev);
- $revprint =~ s`\S+`$&`; # `
- $oldLusr = '';
+ $revprint = $lrev; $oldLusr = "";
+ $revprint =~ s`^(\S+)`$1`; # `
}
if ($lusr eq $oldLusr) {
- $usrprint = '';
+ $usrprint = " ";
}
else {
$usrprint = $lusr;
}
$oldLrev = $lrev;
$oldLusr = $lusr;
+ # is there a less timeconsuming way to strip spaces ?
+ ($lrev = $lrev) =~ s/\s+//g;
+ my $isCurrentRev = ($rev eq $lrev);
- # Set bold for text-based browsers only - graphical
- # browsers show bold fonts a bit wider than regular fonts,
- # so it looks irregular.
- print "" if ($isCurrentRev && $is_textbased);
-
- printf "%s%s %-8s %4d:",
- $revprint,
- $isCurrentRev ? '!' : ' ',
- $usrprint,
- $lineNr;
+ print "" if ($isCurrentRev);
+ printf ("%8s%s%8s %4d:", $revprint, ($isCurrentRev ? "|" : " "), $usrprint, $lineNr);
print spacedHtmlText($line, $d{'tabstop'});
-
- print "" if ($isCurrentRev && $is_textbased);
+ print "" if ($isCurrentRev);
}
elsif ($words[0] eq "ok") {
# We could complain about any text received after this, like the
@@ -1698,7 +1684,7 @@ again:
$state = "head";
goto again;
}
- if ($state eq "head" && /$LOG_REVSEPARATOR/o) {
+ if ($state eq "head" && /^----------------------------$/) {
$state = "log";
$rev = undef;
$date = undef;
@@ -1708,7 +1694,8 @@ again:
next;
}
if ($state eq "log") {
- if (/$LOG_REVSEPARATOR/o || /$LOG_FILESEPARATOR/o) {
+ if (/^----------------------------$/
+ || /^=============================/) {
# End of a log entry.
my $revbranch;
($revbranch = $rev) =~ s/\.\d+$//;
@@ -1755,7 +1742,7 @@ again:
$log = $log . $_;
}
}
- if (/$LOG_FILESEPARATOR/o) {
+ if (/^===============/) {
$state = "start";
next;
}
@@ -1829,7 +1816,7 @@ sub readLog($;$) {
# log info
# ----------------------------
logentry:
- while (!/$LOG_FILESEPARATOR/o) {
+ while (!/^=========/) {
$_ = <$fh>;
last logentry if (!defined($_)); # EOF
print "R:", $_ if ($verbose);
@@ -1837,7 +1824,7 @@ sub readLog($;$) {
$rev = $1;
unshift(@allrevisions,$rev);
}
- elsif (/$LOG_FILESEPARATOR/o || /$LOG_REVSEPARATOR/o) {
+ elsif (/^========/ || /^----------------------------$/) {
next logentry;
}
else {
@@ -1871,7 +1858,7 @@ sub readLog($;$) {
while (<$fh>) {
print "L:", $_ if ($verbose);
next line if (/^branches:\s/);
- last line if (/$LOG_FILESEPARATOR/o || /$LOG_REVSEPARATOR/o);
+ last line if (/^----------------------------$/ || /^=========/);
$log{$rev} .= $_;
}
print "E:", $_ if ($verbose);
@@ -2491,7 +2478,7 @@ sub navigateHeader($$$$$) {
$swhere = urlencode($filename) if ($swhere eq "");
print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
print "\n\n";
- print '';
+ print '';
print "\n$path$filename - $title - $rev\n";
print "$body_tag_for_src\n";
print "";
@@ -2846,7 +2833,7 @@ sub http_header(;$) {
sub html_header($) {
my ($title) = @_;
- my $version = '$zRevision: 1.103 $ $kRevision: 1.33 $'; #'
+ my $version = '$zRevision: 1.103 $ $Revision: 3.28 $'; #'
http_header();
print <