New script to make sure we're giving credit appropriately - should be run

* check-THANKS.pl: New script to make sure we're giving credit
	appropriately - should be run before releases to make sure.

	* THANKS: Removed those who have been promoted to AUTHORS.

	* ChangeLog-20000625, ChangeLog-20000831: Made a few minor edits
	to avoid confusing check-THANKS.pl
This commit is contained in:
Maciej Stachowiak 2000-09-24 17:32:34 +00:00
parent a9397fa18b
commit d80a3e71a2
5 changed files with 231 additions and 15 deletions

View file

@ -1,3 +1,13 @@
2000-09-24 Maciej Stachowiak <mjs@eazel.com>
* check-THANKS.pl: New script to make sure we're giving credit
appropriately - should be run before releases to make sure.
* THANKS: Removed those who have been promoted to AUTHORS.
* ChangeLog-20000625, ChangeLog-20000831: Made a few minor edits
to avoid confusing check-THANKS.pl
2000-09-23 Andy Hertzfeld <andy@eazel.com>
* src/nautilus-toolbar.c: (nautilus_toolbar_initialize_class),

View file

@ -13685,7 +13685,7 @@ Thu May 11 16:52:14 2000 Raph Levien <raph@acm.org>
* nautilus-widgets/test-nautilus-widgets.c: Update for the above
changes.
2000-04-25 Ramiro Estrugo <ramiro@eazel.com>
2000-04-25 Ramiro Estrugo <ramiro@eazel.com>
* nautilus-clean.sh: Return 0 at the end of the script so that it
can be used like this: nautilus-clean.sh && ./src/nautilus

View file

@ -3842,7 +3842,7 @@ Mon Aug 21 23:35:18 2000 George Lebl <jirka@5z.com>
Fixed bug 1456 ("file://" shouldn't appear in locations
in Property window)
Robert Brady (rwb197@zepler.org) submitted a patch for this
Robert Brady <rwb197@zepler.org> submitted a patch for this
bug (thanks Robert!). The patch worked, but I ended up fixing
it a somewhat different way when I realized that we had two
similar routines that needed to be merged.
@ -6429,7 +6429,7 @@ Fri Aug 18 21:22:17 2000 George Lebl <jirka@5z.com>
(sect_thead_end_element), (sect_tbody_start_element),
(sect_tbody_end_element), (sect_informaltable_end_element):
New functions for the new tags that were added for table support. This
is based on a patch provided by John Fleck (jfleck@inkstain.net)
is based on a patch provided by John Fleck <jfleck@inkstain.net>
(sect_title_start_element),
(sect_title_end_element),

23
THANKS
View file

@ -7,26 +7,25 @@ Christopher James Lahey <clahey@helixcode.com> - bug fixes
Cody Russell <car0969@gamma2.uta.edu> - bug fixes
Eli Goldberg <eli@eazel.com> - smoketest document, testing
Fatih Demir <kabalak@gmx.net> - bug fixes
Havoc Pennington <hp@pobox.com> - various contributions
Joe Shaw <joe@helixcode.com> - installer code, bug fixes
John Fleck <jfleck@inkstain.net> - help browser work
Havoc Pennington <hp@redhat.com> - various contributions
Joe Shaw <joe@helixcode.com> - installer code, bug fixes
John Fleck <jfleck@inkstain.net> - help browser work
Jonathan Blandford <jrb@redhat.com> - help browser, bug fixes
Josh Barrow <linuxfan@ionet.net> - bug fizes, testing, enthusiasm
JP Rosevear <jpr@arcavia.com> - bug fixes
Kenneth Christiansen <kenneth@gnu.org> - icons
Kenneth Christiansen <kenneth@gnu.org> - icons
Kjartan Maraas <kmaraas@online.no> - bug fixes, i18n code
Martin Baulig <martin@home-of-linux.org> - added PersistFile support
Michael Meeks <michael@helixcode.com> - vfs stream update
Morten Welinder <terra@diku.dk> - check-fixme suggestions
Morten Welinder <terra@diku.dk> - check-fixme suggestions
Richard Hult <rhult@hem.passagen.se> - bug reporting
Robert Brady <rwb197@zepler.org> - bugfixes
Shane Butlers <sbutle@deakin.edu.au> - IDE in hardware view patch for showing IDE
Robert Brady <rwb197@zepler.org> - bugfixes
Shane Butlers <sbutle@deakin.edu.au> - IDE in hardware view patch for showing IDE
As well as the following people who contributed translations:
Akira TAGOH <tagoh@gnome.gr.jp>
Alastair McKinstry <mckinstry@computer.org>
Alastair McKinstry <mckinstry@computer.org>
Andreas Hyden <a.hyden@cyberpoint.se>
Benedikt Roth <Benedikt.Roth@gmx.net>
Christian Meyer <linux@chrisime.de>
@ -34,12 +33,12 @@ Christian Rose <menthos@menthos.com>
Christopher R. Gabriel <cgabriel@softwarelibero.org>
Eric Brayeur <eb@ibelgique.com>
Fatih Demir <kabalak@gmx.net>
Jean-Michel Ardantz <jmardantz@ifrance.com>
Jean-Michel Ardantz <jmardantz@ifrance.com>
Jesus Bravo Alvarez <jba@pobox.com>
Matthias Warkus <mawa@iname.com>
Pablo Saratxaga <pablo@mandrakesoft.com>
Pablo Saratxaga <pablo@mandrakesoft.com>
Kjartan Maraas <kmaraas@gnome.org>
Kenneth Christiansen <kenneth@gnu.org>
Kenneth Christiansen <kenneth@gnu.org>
Valek Filippov <frob@df.ru>
Yukihiro Nakai <nakai@gnome.gr.jp>
Yuri Syrota <rasta@renome.rovno.ua>

207
check-THANKS.pl Executable file
View file

@ -0,0 +1,207 @@
#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# Nautilus
#
# Copyright (C) 2000 Eazel, Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this library; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Maciej Stachowiak
#
# check-THANKS.pl: Checks for users mentioned in one of the ChangeLogs
# but not in THANKS or AUTHORS; ensure that THANKS and AUTHORS do not
# overlap.
use diagnostics;
use strict;
# Map from alternate names of some users to canonical versions
my %name_map = ("Darin as Andy" => "Darin Adler",
"J. Shane Culpepper" => "J Shane Culpepper",
"Shane Culpepper" => "J Shane Culpepper",
"Michael K. Fleming" => "Mike Fleming",
"Rebecka Schulman" => "Rebecca Schulman",
"Mike Engber" => "Michael Engber",
"Pavel Cisler" => "Pavel Císler",
"Pavel" => "Pavel Císler",
"Robin Slomkowski" => "Robin * Slomkowski");
# Map from alternate email addresses of some users to canonical versions
my %email_map = ('at@ue-spacy.com' => 'tagoh@gnome.gr.jp',
'sopwith@eazel.com' => 'sopwith@redhat.com',
'chief_wanker@eazel.com' => 'eskil@eazel.com',
'eskil@eazel.om' => 'eskil@eazel.com',
'yakk@yakk.net' => 'yakk@yakk.net.au',
'linuxfan@ionet..net' => 'linuxfan@ionet.net',
'rslokow@eazel.com' => 'rslomkow@eazel.com',
'snickell@stanford.edu' => 'seth@eazel.com',
'mathieu@gnome.org' => 'mathieu@eazel.com',
'hp@pobox.com' => 'hp@redhat.com',
'kmaraas@online.no' => 'kmaraas@gnome.org',
'kmaraas@gnu.org' => 'kmaraas@gnome.org',
'raph@gimp.org' => 'raph@acm.org',
'baulig@suse.de' => 'martin@home-of-linux.org');
# Some ChangeLog lines that carry no credit (incorrect changes that
# had to be reverted, etc)
my %no_credit = ('2000-09-08 Daniel Egger <egger@suse.de>' => 1,
'2000-09-06 Daniel Egger <egger@suse.de>' => 1);
my @lines;
my @sort_lines;
my @changelog_people;
my @thanks_people;
my @uncredited;
my @double_credited;
open (CHANGELOGS,"cat `find . -name intl -prune -or -name 'ChangeLog*' -print`|");
LOOP: while (<CHANGELOGS>) {
my $name;
my $email;
chomp;
if (/@/) {
if ($no_credit{$_}) {
next LOOP;
}
if (/^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/) {
# Normal style ChangeLog comment
s/^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][ \t]*//;
} elsif (/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun).*[0-9][0-9][0-9][0-9]/) {
# Old style ChangeLog comment
s/^.*2000[ \t\n\r]*//;
} else {
# FIXME: we should try to extract names & addresses from
# entry body text.
next LOOP; # ignore unknown lines for now
}
$name = $_;
$email = $_;
$name =~ s/[ \t]*<.*[\n\r]*$//;
if ($name_map{$name}) {
$name = $name_map{$name};
};
$email =~ s/^.*<//;
$email =~ s/>.*$//;
$email =~ s/[ \t\n\r]*$//;
if ($email_map{$email}) {
$email = $email_map{$email};
};
push @lines, "${name} <${email}>";
}
}
close (CHANGELOGS);
@sort_lines = sort @lines;
my $last_line = "";
foreach my $line (@sort_lines) {
push @changelog_people, $line unless $line eq $last_line;
$last_line = $line;
}
open (AUTHORS, "<AUTHORS");
my @authors;
while (<AUTHORS>) {
chomp;
push @authors, $_;
}
close (AUTHORS);
open (THANKS, "<THANKS");
while (<THANKS>) {
chomp;
s/ - .*$//;
push @thanks_people, $_;
}
close (THANKS);
foreach my $person (@changelog_people) {
if (! (grep {$_ eq $person} @thanks_people) &&
! (grep {$_ eq $person} @authors)) {
push @uncredited, $person;
}
}
if (@uncredited) {
print "The following people are in the ChangeLog but not credited in THANKS or AUTHORS:\n\n";
foreach my $person (@uncredited) {
print "xx ${person}\n";
}
print "\n";
}
foreach my $person (@authors) {
if (grep {$_ eq $person} @thanks_people) {
push @double_credited, $person;
}
}
if (@double_credited) {
print "The following people are listed in both THANKS and AUTHORS:\n\n";
foreach my $person (@double_credited) {
print "${person}\n";
}
}
# FIXME: we should also make sure that AUTHORS matches the contents of
# the About dialog.
print "\n";