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