]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - log_trace.pl
* Se corrige bug en el Splitter del modelo. Lo que pasaba es que si alguna entrada era
[z.facultad/75.42/plaqui.git] / log_trace.pl
1 #!/usr/bin/perl
2 #
3 # Scrip que muestra en forma grafica la evolucion de los commits
4 #
5 # by Ricardo Markiewicz <rmarkie@fi.uba.ar>
6 #
7 # The PlaQui Development Team
8
9 my %hash, %users, $texto. $max;
10
11 if (shift eq "-d") {
12         $texto = `svn log | grep rev | grep line`;
13 } else {
14         $texto = `cat ChangeLog | grep rev | grep line`;
15 }
16 @lines = split(/\n/, $texto);
17
18 $max = -1;
19 foreach $line (@lines) {
20         @datos = split(/ /, $line);
21         $hash{$datos[5]}++;
22         $users{$datos[5]}{$datos[3]}++;
23         if ($hash{$datos[5]} > $max) {
24                 $max = $hash{$datos[5]};
25         }
26 }
27
28 print "PlaQui - Grafica de Progreso SVN\n";
29 print "--------------------------------\n\n";
30 print "Fech\t\tCommits\n";
31
32 foreach $date (sort keys %hash) {
33         print "$date\t";
34         
35         $win = "";
36         $win_pts = -1;
37         foreach $name (keys %{$users{$date}}) {
38                 if ($users{$date}{$name} > $win_pts) {
39                         $win = $name;
40                         $win_pts = $users{$date}{$name};
41                 } else {
42                         if ($users{$date}{$name} == $win_pts) {
43                                 $win = $win."|".$name;
44                         }
45                 }
46         }
47
48         for($i=0; $i<$max/2; $i++) {
49                 if ($i < $hash{$date}/2) {
50                         print "*";
51                 } else {
52                         print " ";
53                 }
54         }
55         print "  ($win)";
56         print "\n";
57 }
58
59 print "\n";
60 print "( ) = Máximo/s Commiteador/es del Día\n";
61 print "* == 2 Commit\n";
62