1
0
mirror of https://frontier.innolan.net/rainlance/c-ares.git synced 2025-11-19 12:40:30 +00:00

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.
This commit is contained in:
Daniel Stenberg
2011-08-21 15:36:52 +02:00
parent 440b5d488a
commit 2d9a5acff5
4 changed files with 1303 additions and 1216 deletions

1221
CHANGES

File diff suppressed because it is too large Load Diff

1218
CHANGES.0 Normal file

File diff suppressed because it is too large Load Diff

77
git2changes.pl Executable file
View File

@ -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 File

@ -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`;