| #!/usr/bin/perl |
| |
| use strict; |
| |
| my @hashes=split(' ', `git log --reverse -q --format=%h virtio-v1.1-csprd01..`); |
| |
| sub escapelatex { |
| my $s = shift; |
| $s =~ s/[\\]/\\textbackslash /go; |
| $s =~ s/([&#%{}\$])/\\$1/go; |
| $s =~ s/[~]/\\~{}/go; |
| $s =~ s/(https?:\S*)/\\url{$1}/go; |
| #1st line always on a separate paragraph |
| $s =~ s/\n/\n\n/o; |
| #Guess where new paragraph starts |
| $s =~ s/\\.\n/.\n\n/go; |
| $s =~ s/\n-/\n\n-/go; |
| return $s; |
| } |
| |
| for my $h (@hashes) { |
| my $date = `git show -q --format='%cd' --date='format:%d %b %Y' $h`; |
| chomp $date; |
| my $author = `git show -q --format='%aN' $h`; |
| chomp $author; |
| my $cl = `git show -q --format='%B' $h`; |
| $cl = escapelatex($cl); |
| print "$h & $date & $author & { $cl } \\\\\n"; |
| print "\\hline\n"; |
| } |