X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=build%2Fcvslog;h=cd7615cc33d7b045afabf36461fff48e865a9a92;hb=396571ed89ec4260ba3fd1b7ce2b38b07bd90ab7;hp=feded092f6648ced262db32f9d87a38bd0b3dbc7;hpb=5ad68ba19acfb9054325b7449a6a14fec47051ad;p=libucw.git diff --git a/build/cvslog b/build/cvslog index feded092..cd7615cc 100755 --- a/build/cvslog +++ b/build/cvslog @@ -1,13 +1,29 @@ #!/usr/bin/perl # Process `cvs log' output to get a resonable changelog -# (c) 2003 Martin Mares +# (c) 2003--2004 Martin Mares use Digest::MD5; use POSIX; +my %names= ( + 'mj' => 'Martin Mares ', + 'robert' => 'Robert Spalek ', + 'tom' => 'Tomas Valla ', + 'valla' => 'Tomas Valla ', + 'milan' => 'Milan Vancura ', + 'milanek' => 'Milan Vancura ', + 'tomhol' => 'Tomas Holusa ', + 'centrum' => 'Tomas Holusa ', + 'root' => 'Tomas Holusa ', + 'pavel' => 'Pavel Machek ', + 'th2' => 'Tomas Holenda ', + 'croniak' => 'Vladimir Jelen ', +); + while () { chomp; /^$/ && next; + /^[?]/ && next; /^RCS file: / || die; $_ = ; chomp; @@ -22,27 +38,33 @@ while () { if (/^------/) { $_ = ; next; } /^revision / || die; $_ = ; + my ($author) = /;\s*author:\s*([^;]+)/ or die; my ($yy,$mm,$dd,$HH,$MM,$SS) = /^date: (....)\/(..)\/(..) (..):(..):(..);/ or die; my $t = POSIX::mktime($SS,$MM,$HH,$dd,$mm-1,$yy-1900) or die; my $T = sprintf("%06d", int(($t + 1800)/3600)); $d = ""; while ($_ = ) { /^(-----|=====)/ && last; - $d .= $_; + $d .= " $_"; } my $id = "$T:" . Digest::MD5::md5_hex($d); if (!defined $msg{$id}) { $date{$id} = "$yy-$mm-$dd $HH:$MM:$SS"; $msg{$id} = $d; $files{$id} = ""; + $author{$id} = $author; } - $files{$id} .= "\t* $file\n"; + $files{$id} .= " * $file\n"; #print "\t$id\n"; } } foreach $id (sort keys %date) { - print "### ", $date{$id}, "\n\n"; + if (!exists ($names{$author{$id}})) { + print STDERR "Unknown commiter $author{$id}\n"; + $names{$author{$id}} = "unknown $author{$id}"; + } + print "### ", $date{$id}, " ", $names{$author{$id}}, "\n\n"; print $files{$id}, "\n"; print $msg{$id}, "\n"; }