]> i-scream Git - www.i-scream.org.git/blobdiff - cgi-bin/cvslog.cgi
Fixed the link to diffs when there was a tag associated with the commit.
[www.i-scream.org.git] / cgi-bin / cvslog.cgi
index 516770010ff41fbd648475a34e80b8f2b5bfb557..da87f362ee5521a9e1f61cbdafc84b21a225950b 100755 (executable)
@@ -22,6 +22,12 @@ elsif($period eq "date") {
     $heading = "i-scream CVS$moduleext commits on $date";
     $firstdate = "$date 00:00<$date 23:59"
 }
+elsif($period eq "since") {
+    my($date)=$query->param('date');
+    $date = `/bin/date \"+%Y/%m/%d\"` unless defined $date;
+    $heading = "i-scream CVS$moduleext commits since $date";
+    $firstdate = ">$date";
+}
 elsif($period eq "thisweek") {
     $firstdate = ">last Sunday";
     $heading = "i-scream CVS$moduleext commits this week";
@@ -35,6 +41,7 @@ else {
 my($cvsroot) = "/cvs/i-scream";
 
 $modulelist = `ls $cvsroot` unless defined $modulelist;
+$modulelist =~ s/[\r\n]/ /gm;
 
 my($cvs2clpath) = "/home/sites/www.i-scream.org.uk/bin/cvs2cl2.pl";
 my($cvs2clargs) = "--stdout --no-wrap -r -b -t -w -S -U $cvsroot/CVSROOT/users -l \"-d'$firstdate'\" -g \"-d$cvsroot\" -g \"-Q\"";
@@ -101,22 +108,23 @@ foreach my $module (@modules) {
                 print HTML_encode("$2");
                 print "</a></i>\n</font>\n"
             }
-            elsif($line =~ /(\S+) (\(\S+\))([,:])/) {
+            elsif($line =~ /(\S+) (\(\S+\))([,:])/ || $line =~ /(\S+) (\(\S+,\s+\S+\))([,:])/) {
                 #chop $line;
                 my ($file, $rest, $ext) = ($1, $2, $3);
                 print "<code>";
                 print "<a href=\"/cgi-bin/cvs/viewcvs.cgi/$file\" style=\"text-decoration: none;\">";
                 print HTML_encode($file);
                 print "</a> ";
-                if($rest =~ /\((\S).(\S+)\)/) {
+                if($rest =~ /\((\d+).(\d+)(.*)\)/) {
                     my $newrev = "$1.$2";
                     my $oldminver = $2-1;
                     my $oldrev = "$1.$oldminver";
                     if(!($1==1 && $2==1)) {
                         my $diff = ".diff?r1=$oldrev&r2=$newrev";
-                        print "<a href=\"/cgi-bin/cvs/viewcvs.cgi/$file$diff\" style=\"text-decoration: none;\">";
-                        print HTML_encode($rest);
+                        print "(<a href=\"/cgi-bin/cvs/viewcvs.cgi/$file$diff\" style=\"text-decoration: none;\">";
+                        print HTML_encode("$1.$2");
                         print "</a>";
+                        print HTML_encode("$3)");
                     }
                     else {
                         print HTML_encode($rest);