+END
+&print_html($header);
+
+print <<"END";
+
+
i-scream CVS Commit Logs
+
+
$heading
END
-print `$updatecmd`;
+print `$updatecmd >/dev/null 2>&1`;
-my $modulelist = `ls $cvsroot`;
my(@modules) = split (/\s+/, $modulelist);
foreach my $module (@modules) {
- print "
";
- print "$module module |
";
- print "";
+ print "\n\n";
+ print "\n$module module\n | \n\n";
+ print "\n";
my(@lines) = `$logcmd $module 2>&1`;
if(@lines == 0) {
- print "There have been no commits in this module during this period.";
+ print "There have been no commits in this module during this period.\n";
}
else {
foreach my $line (@lines) {
- if ($line =~ /^([0-9]{4}-[0-9]{2}-[0-9]{2}.*?)([^\s]+)$/) {
- print "";
+ if ($line =~ /^([0-9]{4}-[0-9]{2}-[0-9]{2}.*?)\s+([^\s]+)\s+<([^\s]+)>$/) {
+ print "\n\n";
print HTML_encode($1);
- print "";
- print HTML_encode("by $2");
- print ""
+ print "\n";
+ print " committed by ";
+ print HTML_encode("$2");
+ print "\n\n"
}
+ elsif ($line =~ /^([0-9]{4}-[0-9]{2}-[0-9]{2}.*?)\s+([^\s]+)$/) {
+ print "\n\n";
+ print HTML_encode($1);
+ print "\n";
+ print " committed by ";
+ print HTML_encode("$2");
+ print "\n\n"
+ }
+ elsif($line =~ /([^\s]+) (\([^,^\)]+(,[^\)]+)?\))([,:])/) {
+ my ($file, $rev, $tags, $ext) = ($1, $2, $3, $4);
+ print "";
+ print "";
+ print HTML_encode($file);
+ print " ";
+ if($rev =~ /\(([^\s]+)\.(\d+)(.*)\)/) {
+ my $start = $1;
+ my $end = $2;
+ my $other = $3;
+ my $newrev = "$start.$end";
+ my $oldrev;
+ if($end != 1) {
+ my $oldminver = $end-1;
+ $oldrev = "$start.$oldminver";
+ }
+ elsif($start =~ /^((\d+\.)+)(\d+)$/) {
+ $oldrev = $1;
+ # take trailing . off old revision
+ chop $oldrev;
+ }
+ if(defined $oldrev) {
+ my $diff = ".diff?r1=$oldrev&r2=$newrev";
+ print "(";
+ print HTML_encode("$start.$end");
+ print "";
+ print HTML_encode("$other)");
+ }
+ else {
+ print HTML_encode($rev);
+ }
+ }
+ else {
+ print HTML_encode($rev);
+ }
+ print HTML_encode($ext);
+ print " \n"
+ }
else {
- chop $line;
+ chomp $line;
print "";
print HTML_encode($line);
- print " "
+ print " \n"
}
}
}
- print " | ";
+ print "\n";
print " \n\n";
}
+print "";
+
+&print_html($footer);
+
+print "";
+
+&print_html($menu);
+
print <<"END";
+
-
END
@@ -110,4 +202,10 @@ sub HTML_encode ($){
$encoded =~ s/</g;
$encoded =~ s/>/>/g;
return $encoded;
+}
+
+# Print a file without escaping HTML: -
+sub print_html ($) {
+ my ($filename) = @_;
+ print `cat $filename 2>&1`;
}
|