Permalink
Browse files

CHANGES: generate from script

The CHANGES file is now generated automatically with 'git2changes.pl',
invoked by the maketgz script which is used to build release archives.

The former human edited CHANGES file was renamed to CHANGES.0 in git.
  • Loading branch information...
1 parent 440b5d4 commit 2d9a5acff5081303b7d4106875d42cce7fce043d @bagder bagder committed Aug 21, 2011
Showing with 1,303 additions and 1,216 deletions.
  1. +5 −1,216 CHANGES
  2. +1,218 −0 CHANGES.0
  3. +77 −0 git2changes.pl
  4. +3 −0 maketgz
View
1,221 CHANGES
Oops, something went wrong.
View
Oops, something went wrong.
View
@@ -0,0 +1,77 @@
+#!/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 for the c-ares project. Generated with git2changes.pl
+';
+
+my $line;
+my $tag;
+while(<STDIN>) {
+ my $l = $_;
+
+ if($l =~/^commit ([[:xdigit:]]*) ?(.*)/) {
+ $co = $1;
+ my $ref = $2;
+ if ($ref =~ /refs\/tags\/c[-]*ares-([0-9._]*)/) {
+ $tag = $1;
+ $tag =~ s/_/./g;
+ } else {
+ $tag = '';
+ }
+ }
+ 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";
+ }
+}
View
@@ -59,6 +59,9 @@ print "running configure\n";
print "running make pdf\n";
`make -s pdf`;
+print "produce CHANGES\n";
+`git log --pretty=fuller --no-color --date=short --decorate=full -1000 | ./git2changes.pl > CHANGES.dist`;
+
# now make the actual tarball
print "running make dist\n";
`make dist VERSION=$version`;

0 comments on commit 2d9a5ac

Please sign in to comment.