Line # Revision Author
1 29 dpavlin #!/usr/bin/perl -w
2
3 use strict;
4
5 my $rcs2log = "rcs2log ".join(" ",@ARGV);
6 my $have_ul = 0;
7
8 34 dpavlin sub encode {
9 my $foo = shift;
10 $foo =~ s/</&lt;/g;
11 $foo =~ s/>/&gt;/g;
12 $foo =~ s/"/&quot;/g;
13 return $foo;
14 }
15
16
17 29 dpavlin open(RCS2LOG, "$rcs2log |") || die "$rcs2log: $!";
18 while(<RCS2LOG>) {
19 chomp;
20 next if (/^$/);
21 if (/^(\d\d\d\d-\d+-\d+)\s+(.+)\s(<.+>)$/) {
22 my ($date,$who,$email) = ($1,$2,$3);
23 if ($have_ul) {
24 print "</ul>\n";
25 $have_ul = 0;
26 }
27 34 dpavlin $email = encode($email);
28 29 dpavlin $email =~ s/@/(at)/g;
29 $email =~ s/\./(dot)/g;
30 print "<tt>$date</tt> $who <tt>$email</tt>\n";
31 } elsif (/^\t\* ([^:]+):(\s*.*)$/) {
32 if (! $have_ul) {
33 print "<ul>\n";
34 $have_ul = 1;
35 }
36 34 dpavlin print "<li> <tt>$1</tt>:".encode($2)."\n";
37 29 dpavlin } elsif (/^\t([-]\s.*)$/) {
38 34 dpavlin print "<br>".encode($1)."\n";
39 29 dpavlin } else {
40 34 dpavlin print encode($_)."\n";
41 29 dpavlin }
42 }
43