#!/usr/bin/perl
#
# Scrip que muestra en forma grafica la evolucion de los commits
#
# by Ricardo Markiewicz <rmarkie@fi.uba.ar>
#
# The PlaQui Development Team

my %hash, %users, $texto. $max;

if (shift eq "-d") {
	$texto = `svn log | grep rev | grep line`;
} else {
	$texto = `cat ChangeLog | grep rev | grep line`;
}
@lines = split(/\n/, $texto);

$max = -1;
foreach $line (@lines) {
	@datos = split(/ /, $line);
	$hash{$datos[5]}++;
	$users{$datos[5]}{$datos[3]}++;
	if ($hash{$datos[5]} > $max) {
		$max = $hash{$datos[5]};
	}
}

print "PlaQui - Grafica de Progreso SVN\n";
print "--------------------------------\n\n";
print "Fech\t\tCommits\n";

foreach $date (sort keys %hash) {
	print "$date\t";
	
	$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; $i++) {
		if ($i < $hash{$date}) {
			print "*";
		} else {
			print " ";
		}
	}
	print "  ($win)";
	print "\n";
}

print "\n";
print "( ) = Máximo/s Commiteador/es del Día\n";
print "* == 1 Commit\n";

