gforge-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gforge-commits] gforge/deb-specific stats_cvs.pl,1.11,1.12


From: cbayle
Subject: [Gforge-commits] gforge/deb-specific stats_cvs.pl,1.11,1.12
Date: Fri, 09 Jan 2004 18:29:42 -0600

Update of /cvsroot/gforge/gforge/deb-specific
In directory db.perdue.net:/tmp/cvs-serv22779/deb-specific

Modified Files:
        stats_cvs.pl 
Log Message:
Patch [ #615 ] CVS Stats User Script Generator + CVS project history


Index: stats_cvs.pl
===================================================================
RCS file: /cvsroot/gforge/gforge/deb-specific/stats_cvs.pl,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- stats_cvs.pl        23 Dec 2002 13:17:12 -0000      1.11
+++ stats_cvs.pl        10 Jan 2004 00:29:39 -0000      1.12
@@ -149,6 +149,69 @@
        print "-----------------------------------------------------\n";
 }
 
+sub cvs_stats_merge {
+        print "-----------------------------------------------------\n";
+        print "Inserting cvs data into\n";
+        print "-----------------------------------------------------\n";
+       my ($sql,$res,$temp);
+       $sql = "DELETE FROM stats_cvs_group 
+               WHERE (month,day,group_id) IN (
+                       SELECT d.month+ d.year*100,
+                               d.day,g.group_id 
+                       FROM deb_cvs_group_user AS d,   groups AS g
+                       WHERE d.cvsgroup=g.unix_group_name 
+                       GROUP BY d.month,d.year,d.day,g.group_id 
+               )";
+       $dbh->do ( $sql );
+       $sql = "INSERT INTO stats_cvs_group 
+               SELECT d.month + d.year * 100,
+                       d.day,g.group_id, 
+                       sum(coalesce(d.others,0)),
+                       sum(coalesce(d.modified,0)),
+                       sum(COALESCE(d.added,0)) 
+               FROM deb_cvs_group_user AS d,groups AS g
+               WHERE d.cvsgroup=g.unix_group_name 
+                       and (d.month + d.year * 100,
+                       d.day,
+                       g.group_id) NOT IN (
+                               SELECT month,day,group_id FROM stats_cvs_group 
+                               )
+               GROUP BY year,month,day,group_id
+               ";
+       $dbh->do ( $sql );
+       
+       $sql = "DELETE FROM stats_cvs_user 
+               WHERE (month,day,group_id,user_id) IN (
+                       SELECT d.month+ d.year*100,
+                               d.day,g.group_id,u.user_id
+                       FROM deb_cvs_group_user AS d, groups AS g, users as u
+                       WHERE d.cvsgroup=g.unix_group_name AND 
d.cvsuser=u.user_name 
+                       GROUP BY d.month,d.year,d.day,g.group_id,u.user_id 
+               )";
+       $dbh->do ( $sql );
+       $sql = "INSERT INTO stats_cvs_user
+               SELECT d.month + d.year * 100,
+                       d.day,
+                       g.group_id, 
+                       u.user_id,
+                       sum(coalesce(d.others,0)),
+                       sum(coalesce(d.modified,0)),
+                       sum(COALESCE(d.added,0)) 
+               FROM deb_cvs_group_user AS d,groups AS g, users AS u
+               WHERE d.cvsgroup=g.unix_group_name and
+                       d.cvsuser=u.user_name
+                       and (d.month + d.year * 100,
+                       d.day,
+                       g.group_id,
+                       u.user_id) NOT IN (
+                               SELECT month,day,group_id,user_id FROM 
stats_cvs_user
+                               )
+               GROUP BY year,month,day,group_id,user_id
+               ";
+       $dbh->do ( $sql );
+       
+       print "  [ x ] Done\n";
+}
 #############
 # main      #
 #############
@@ -158,5 +221,6 @@
 &dump_history;
 &parse_history;
 &print_stats;
+&cvs_stats_merge;
 &drop_tables;
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]