mirror of
				https://gitlab.labs.nic.cz/labs/bird.git
				synced 2024-05-11 16:54:54 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/perl
 | |
| # Process `cvs log' output to get a resonable changelog
 | |
| # (c) 2003--2004 Martin Mares <mj@ucw.cz>
 | |
| 
 | |
| use Digest::MD5;
 | |
| use POSIX;
 | |
| 
 | |
| my %names= (
 | |
| 	'mj'	=> 'Martin Mares <mj@ucw.cz>',
 | |
| 	'feela'	=> 'Ondrej Filip <feela@network.cz>',
 | |
| 	'pavel' => 'Pavel Machek <pavel@ucw.cz>'
 | |
| );
 | |
| 
 | |
| while (<STDIN>) {
 | |
| 	chomp;
 | |
| 	/^$/ && next;
 | |
| 	/^[?]/ && next;
 | |
| 	/^RCS file: / || die;
 | |
| 	$_ = <STDIN>;
 | |
| 	chomp;
 | |
| 	my ($file) = /^Working file: (.*)$/ or die;
 | |
| 	#print "$file\n";
 | |
| 	do {
 | |
| 		$_ = <STDIN> or die;
 | |
| 	} while (!/^description:/);
 | |
| 	$_ = <STDIN>;
 | |
| 	for(;;) {
 | |
| 		/^======/ && last;
 | |
| 		if (/^------/) { $_ = <STDIN>; next; }
 | |
| 		/^revision / || die;
 | |
| 		$_ = <STDIN>;
 | |
| 		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 ($_ = <STDIN>) {
 | |
| 			/^(-----|=====)/ && last;
 | |
| 			$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} .= "  * $file\n";
 | |
| 		#print "\t$id\n";
 | |
| 	}
 | |
| }
 | |
| 
 | |
| foreach $id (sort keys %date) {
 | |
| 	if (!exists ($names{$author{$id}})) {
 | |
| 		die "Unknown commiter $author{$id}";
 | |
| 	}
 | |
| 	print "### ", $date{$id}, "  ", $names{$author{$id}}, "\n\n";
 | |
| 	print $files{$id}, "\n";
 | |
| 	print $msg{$id}, "\n";
 | |
| }
 |