removed trailing whitespace
[platform/upstream/curl.git] / log2changes.pl
1 #!/usr/bin/perl
2
3 # git log --pretty=fuller --no-color --date=short --decorate=full
4
5 my @mname = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
6              'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' );
7
8 sub nicedate {
9     my ($date)=$_;
10
11     if($date =~ /(\d\d\d\d)-(\d\d)-(\d\d)/) {
12         return sprintf("%d %s %4d", $3, $mname[$2-1], $1);
13     }
14     return $date;
15 }
16
17 print 
18 '                                  _   _ ____  _
19                               ___| | | |  _ \| |
20                              / __| | | | |_) | |
21                             | (__| |_| |  _ <| |___
22                              \___|\___/|_| \_\_____|
23
24                                   Changelog
25 ';
26
27 my $line;
28 my $tag;
29 while(<STDIN>) {
30     my $l = $_;
31
32     if($l =~/^commit ([[:xdigit:]]*) ?(.*)/) {
33         $co = $1;
34         my $ref = $2;
35         if ($ref =~ /refs\/tags\/curl-([0-9_]*)/) {
36             $tag = $1;
37             $tag =~ tr/_/./;
38         } else {
39             $tag = '';
40         }
41     }
42     elsif($l =~ /^Author: *(.*) +</) {
43         $a = $1;
44     }
45     elsif($l =~ /^Commit: *(.*) +</) {
46         $c = $1;
47     }
48     elsif($l =~ /^CommitDate: (.*)/) {
49         $date = nicedate($1);
50     }
51     elsif($l =~ /^(    )(.*)/) {
52         my $extra;
53         if ($tag) {
54             # Version entries have a special format
55             print "\nVersion " . $tag." ($date)\n";
56             $oldc = "";
57         }
58         if($a ne $c) {
59             $extra=sprintf("\n- [%s brought this change]\n\n  ", $a);
60         }
61         else {
62             $extra="\n- ";
63         }
64         if($co ne $oldco) {
65             if($c ne $oldc) {
66                 print "\n$c ($date)$extra";
67             }
68             else {
69                 print "$extra";
70             }
71             $line =0;
72         }
73
74         $oldco = $co;
75         $oldc = $c;
76         $olddate = $date;
77         if($line++) {
78             print "  ";
79         }
80         print $2."\n";
81     }
82 }