]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - log_trace.pl
Se corrige el XML a mano para probarlo.
[z.facultad/75.42/plaqui.git] / log_trace.pl
index f1716d34dafb86cd0116d1e9fb28c73e19f4521f..003517cbd42039f05ee6b647feb6b30c909ad2af 100755 (executable)
@@ -6,25 +6,64 @@
 #
 # The PlaQui Development Team
 
-#open("log.txt", LOG);
-#@lines = <LOG>;
-#close(LOG);
+my %hash, %users, %commits, %lines_count, $texto. $max;
+
+if (shift eq "-d") {
+       $texto = `svn log > ChangeLog`;
+}
+$texto = `egrep "rev [0-9]+" ChangeLog`;
 
-$texto = `svn log | grep rev | grep lines`;
 @lines = split(/\n/, $texto);
-my %hash;
 
+$max = -1;
 foreach $line (@lines) {
        @datos = split(/ /, $line);
        $hash{$datos[5]}++;
+       $users{$datos[5]}{$datos[3]}++;
+       $commits{$datos[3]}++;
+       $lines_count{$datos[3]} += $datos[13];
+       if ($hash{$datos[5]} > $max) {
+               $max = $hash{$datos[5]};
+       }
 }
 
 print "PlaQui - Grafica de Progreso SVN\n";
+print "--------------------------------\n\n";
+print "Fecha\t\tCommits\n";
+
 foreach $date (sort keys %hash) {
        print "$date\t";
-       for($i=0; $i<$hash{$date}; $i++) {
-               print "*";
+       
+       $win = "";
+       $win_pts = -1;
+       foreach $name (keys %{$users{$date}}) {
+               if ($users{$date}{$name} > $win_pts) {
+                       $win = $name;
+                       $win_pts = $users{$date}{$name};
+               } else {
+                       if ($users{$date}{$name} == $win_pts) {
+                               $win = $win."|".$name;
+                       }
+               }
        }
+
+       for($i=0; $i<$max/2; $i++) {
+               if ($i < $hash{$date}/2) {
+                       print "*";
+               } else {
+                       print " ";
+               }
+       }
+       print "  ($win)";
        print "\n";
 }
 
+print "\n";
+print "Cantidad de commits por usuario:\n";
+foreach $user (sort keys %commits) {
+       print "\t$user\t$commits{$user}\t($lines_count{$user} lineas)\n";
+}
+print "\n";
+print "( ) = Máximo/s Commiteador/es del Día | ";
+print "* == 2 Commit\n";
+