#!/local/bin/perl5 -w # # Author: Thomas Jensen # Date created: July 12, 1999 (Monday, 13:14h) # Language: Perl 5 # Version: $Id: create_changelog.pl,v 1.1 1999/07/12 12:28:46 tsjensen Exp tsjensen $ # # History: # # $Log: create_changelog.pl,v $ # Revision 1.1 1999/07/12 12:28:46 tsjensen # Initial revision #______________________________________________________________________________ #============================================================================== @files = @ARGV; $#files >= 0 or die "no input files"; print ' boxes - Change Log This page is an automatically generated chronologically sorted change log of the files listed below.

Chronological Change Log

'; %cl = (); foreach $dat (sort @files) { @tmp = `rlog $dat`; $start = 0; $rev = ""; $auth = ""; $datum = ""; @desc = (); for ($i=0; $i<=$#tmp; ++$i) { if ($start == 0) { next unless $tmp[$i] =~ /^----------------------------$/; $start = 1; next; } if ($tmp[$i] =~ /^date: ([^;]*);/) { $datum = $1; } if ($tmp[$i] =~ /^revision ([0-9]\.[0-9]+)/) { $rev = $1; } if ($tmp[$i] =~ /author: ([^;]*);/) { $auth = $1; } if ($tmp[$i] !~ /^revision ([0-9]\.[0-9]+)/ && $tmp[$i] !~ /^date: ([^;]*);/) { $tmp[$i] =~ s//\>/g; $tmp[$i] =~ s/ü/\ü/g; $tmp[$i] =~ s/ö/\ö/g; $tmp[$i] =~ s/ä/\ä/g; $tmp[$i] =~ s/Ü/\Ü/g; $tmp[$i] =~ s/Ö/\Ö/g; $tmp[$i] =~ s/Ä/\Ä/g; $tmp[$i] =~ s/ß/\ß/g; $tmp[$i] =~ s/"/\"/g; chop $tmp[$i]; if ($tmp[$i] =~ /^Initial revision$/) { $tmp[$i] = "".$tmp[$i].""; } if (@desc > 0 && $tmp[$i] !~ /^[a-zäöü]/ && $tmp[$i] !~ /^[-=]{10}/) { $tmp[$i] = "
".$tmp[$i]; } push @desc, $tmp[$i]."\n"; } if ($tmp[$i] =~ /^----------------------------$/ || $tmp[$i] =~ /^===============================================/) { $desc[$#desc] = ""; $cl{$datum."; ".$dat." ".$rev." (".$auth.")"} = [ @desc ]; @desc = (); } } } foreach $line (reverse sort keys %cl) { print "
$line\n"; print "
", @{$cl{$line}}, "

\n\n"; } print '


List of Files

'; foreach $dat (sort @files) { next unless -r $dat; @tmp = `rlog $dat`; @foo = (); $start = 0; @desc = (); @foo = grep /^head: /, @tmp; $rev = $foo[0]; $rev =~ s/^head: //; chop $rev; for ($i=0; $i<$#tmp; ++$i) { if ($start) { if ($start == 2) { last; } else { if ($tmp[$i] =~ /^----------------------------$/) { $start = 2; } else { push @desc, $tmp[$i]; } } } else { $start = 1 if ($tmp[$i] =~ /^description:$/); } } print "
$dat ($rev)\n"; print "
", @desc; } print '
'; #EOF vim: set sw=4: