i-scream CVS Commit Logs
+$heading
END -print `$updatecmd`; +print `$updatecmd >/dev/null 2>&1`; my(@modules) = split (/\s+/, $modulelist); foreach my $module (@modules) { print "| \n$module module\n | 
| \n$module module\n | 
\n";
 
     my(@lines) = `$logcmd $module 2>&1`;
@@ -104,7 +109,7 @@ foreach my $module (@modules) {
                 print "\n\n";
                 print HTML_encode($1);
                 print "\n";
-                print " commited by ";
+                print " committed by ";
                 print HTML_encode("$2");
                 print "\n\n"
             }
@@ -112,43 +117,53 @@ foreach my $module (@modules) {
                 print "\n\n";
                 print HTML_encode($1);
                 print "\n";
-                print " commited by ";
+                print " committed by ";
                 print HTML_encode("$2");
                 print "\n\n"
             }
-            elsif($line =~ /(\S+) (\(\S+\))([,:])/ || $line =~ /(\S+) (\(\S+,\s+\S+\))([,:])/) {
-                #chop $line;
-                my ($file, $rest, $ext) = ($1, $2, $3);
+            elsif($line =~ /([^\s]+) (\([^,^\)]+(,[^\)]+)?\))([,:])/) {
+                my ($file, $rev, $tags, $ext) = ($1, $2, $3, $4);
                 print "";
-                print "";
+                print "";
                 print HTML_encode($file);
                 print " ";
-                if($rest =~ /\((\d+).(\d+)(.*)\)/) {
-                    my $newrev = "$1.$2";
-                    my $oldminver = $2-1;
-                    my $oldrev = "$1.$oldminver";
-                    if(!($1==1 && $2==1)) {
+                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("$1.$2");
+                        print "(";
+                        print HTML_encode("$start.$end");
                         print "";
-                        print HTML_encode("$3)");
+                        print HTML_encode("$other)");
                     }
                     else {
-                        print HTML_encode($rest);
+                        print HTML_encode($rev);
                     }
                 }
                 else {
-                    print HTML_encode($rest);
+                    print HTML_encode($rev);
                 }
                 print HTML_encode($ext);
-                print "\n" + print " \n" } else { - chop $line; + chomp $line; print " ";
                 print HTML_encode($line);
-                print "\n" + print " \n" } } } @@ -157,16 +172,18 @@ foreach my $module (@modules) { print "  | 
\n\n"; } -&print_html($bottom); +print "