From: Tim Bishop Date: Tue, 5 Jun 2001 16:19:00 +0000 (+0000) Subject: Now been "updated" to support some more funky features :) X-Git-Tag: PRE_WWW_REDESIGN~128 X-Git-Url: http://git.i-scream.org/?a=commitdiff_plain;h=b5ee7d5a2ebd1e9b009a35694935c82cce9303e0;p=www.i-scream.org.git Now been "updated" to support some more funky features :) Firstly the output is grouped by module, making it clearer to see what commits belong where. Secondly, query strings allow you to specify the period, rather than just the current day that the old one did. This are: Current Day: period=today Current Week: period=thisweek Last n Days: period=days&days=n There are also subtle location changes to suit the location on the new webserver rather than raptor. --- diff --git a/cgi-bin/cvslog.cgi b/cgi-bin/cvslog.cgi index bb2dc3f..43a98c9 100755 --- a/cgi-bin/cvslog.cgi +++ b/cgi-bin/cvslog.cgi @@ -1,15 +1,38 @@ -#!/usr/bin/perl +#!/usr/bin/perl -w + +use CGI; +$query=new CGI; +my($period)=$query->param('period'); +$period = "today" unless defined $period; + +my($firstdate); +if($period eq "days") { + my($days)=$query->param('days'); + $days = 1 unless defined $days; + if ($days < 1) {$days = 1}; + $heading = "i-scream CVS commits in the past $days day(s)"; + $days--; + $firstdate = `date --date \"$days days ago\" \"+%Y/%m/%d\"`; +} +elsif($period eq "thisweek") { + $firstdate = "last Sunday"; + $heading = "i-scream CVS commits this week"; +} +else { + # default to "today only" + $firstdate = `/bin/date \"+%Y/%m/%d\"`; + $heading = "Today's i-scream CVS commits"; +} print "Content-type: text/html\n\n"; -my($today) = `date \"+%Y/%m/%d\"`; -my($cvs) = "/home/cut/tdb1/bin/cvs"; -my($cvs2clpath) = "/home/cut/tdb1/bin/cvs2cl"; -my($cvsroot) = "/usr/local/proj/co600_10/cvs"; -my($cvs2clargs) = "--stdout -r -b -t -w -U $cvsroot/CVSROOT/users -l \"-d'\>$today'\" -g \"-d$cvsroot\" -g \"-Q\""; -my($cmd) = "cd /home/cut/tdb1/cvsscripttemp && $cvs -d $cvsroot -Q update -d && $cvs2clpath $cvs2clargs *"; - -my(@lines) = `$cmd 2>&1`; +my($cvs) = "/usr/bin/cvs"; +my($cvs2clpath) = "/home/sites/www.i-scream.org.uk/bin/cvs2cl.pl"; +my($cvsroot) = "/cvs/i-scream"; +#my($cvs2clargs) = "--stdout -r -b -t -w -U $cvsroot/CVSROOT/users -l \"-d'\>$today'\" -g \"-d$cvsroot\" -g \"-Q\""; +my($cvs2clargs) = "--stdout -r -b -t -w -U $cvsroot/CVSROOT/users -l \"-d'\>$firstdate'\" -g \"-d$cvsroot\" -g \"-Q\""; +my($updatecmd) = "cd /home/sites/www.i-scream.org.uk/cvsscripttemp && $cvs -d $cvsroot -Q update -d"; +my($logcmd) = "cd /home/sites/www.i-scream.org.uk/cvsscripttemp && $cvs2clpath $cvs2clargs"; print <<"END"; @@ -18,31 +41,42 @@ print <<"END"; The i-scream Project Daily Commit Log - - - - + -

Today's i-scream CVS commits

- -Browse i-scream CVS repository +

$heading

-
 END
 
-foreach my $line (@lines) {
-    print HTML_encode($line);
+print `$updatecmd`;
+
+my $modulelist = `ls $cvsroot`;
+my(@modules) = split (/\s+/, $modulelist);
+
+foreach my $module (@modules) {
+
+    print "

$module module

\n"; + print ""; + print "Browse i-scream "$module" cvs module\n"; + print "
\n";
+
+    my(@lines) = `$logcmd $module 2>&1`;
+    if(@lines == 0) {
+        print "There have been no commits in this module during this period.";
+    }
+    else {
+        foreach my $line (@lines) {
+            print HTML_encode($line);
+        }
+    }
+
+    print "

\n\n"; } print <<"END"; -
@@ -64,4 +98,3 @@ sub HTML_encode ($){ $encoded =~ s/>/>/g; return $encoded; } -