diff options
author | Jim Meyering <meyering@fb.com> | 2014-06-06 17:17:55 -0700 |
---|---|---|
committer | Jim Meyering <meyering@fb.com> | 2014-06-27 13:01:36 -0700 |
commit | 775b724c36e90c90ef520f0294057d4072b1fe66 (patch) | |
tree | afbe024b8ba045c1e273fa726092eaf76c23a246 | |
parent | 639bfd84e719c451d810015d51386f6a0cc47a0d (diff) | |
download | grep-775b724c36e90c90ef520f0294057d4072b1fe66.tar.gz |
maint: generate distributed THANKS from VC'd THANKS.in
* Makefile.am (THANKS): New rule.
* THANKS.in: New file.
* THANKS: Remove. Now it's generated from the combination of
THANKS.in and git logs.
* .mailmap: New file.
* cfg.mk (sc_THANKS_in_duplicates): New syntax-check rule, from
coreutils.
* .gitignore: Add THANKS.
* thanks-gen: New file, from coreutils.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | .mailmap | 9 | ||||
-rw-r--r-- | Makefile.am | 26 | ||||
-rw-r--r-- | THANKS | 107 | ||||
-rw-r--r-- | THANKS.in | 99 | ||||
-rw-r--r-- | cfg.mk | 13 | ||||
-rwxr-xr-x | thanks-gen | 16 |
7 files changed, 163 insertions, 108 deletions
@@ -60,6 +60,7 @@ ChangeLog Makefile Makefile.in TAGS +THANKS !/gnulib-tests/Makefile.am !/lib/Makefile.am !/lib/colorize-posix.c diff --git a/.mailmap b/.mailmap new file mode 100644 index 00000000..be4db3d0 --- /dev/null +++ b/.mailmap @@ -0,0 +1,9 @@ +# Map git author names and email addresses to canonical/preferred form. +<jim@meyering.net> <meyering@fb.com> +<jim@meyering.net> <meyering@redhat.com> +<karl@gnu.org> <karl@tug.org> +Paul Eggert <eggert@cs.ucla.edu> <eggert@penguin.cs.ucla.edu> +Paul Eggert <eggert@cs.ucla.edu> <eggert@CS.UCLA.EDU> +<eggert@cs.ucla.edu> <eggert@twinsun.com> +<karl@gnu.org> <karl@freefriends.org> +<bonzini@gnu.org> <pbonzini@redhat.com> diff --git a/Makefile.am b/Makefile.am index e618a005..a7250db0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,8 +23,10 @@ EXTRA_DIST = \ ChangeLog-2009 \ README \ README-alpha \ + THANKS.in \ TODO \ - cfg.mk + cfg.mk \ + thanks-gen # Shortcut target to make it easier to run expensive tests. .PHONY: check-expensive @@ -54,3 +56,25 @@ gen-ChangeLog: { rm -f $(distdir)/ChangeLog && \ mv $(distdir)/cl-t $(distdir)/ChangeLog; } \ fi + +# Sort in traditional ASCII order, regardless of the current locale; +# otherwise we may get into trouble with distinct strings that the +# current locale considers to be equal. +ASSORT = LC_ALL=C sort + +# Extract all lines up to the first one starting with "##". +prologue = perl -ne '/^\#\#/ and exit; print' $(srcdir)/THANKS.in + +THANKS: THANKS.in Makefile.am .mailmap thanks-gen + $(AM_V_GEN)rm -f $@-t $@; \ + { \ + $(prologue); echo; \ + { perl -ne '/^$$/.../^$$/ and print' $(srcdir)/THANKS.in \ + | grep -v '^$$' | perl -pe 's/ +/\0/'; \ + git log --pretty=format:'%aN%x00%aE' \ + | $(ASSORT) -u; \ + } | $(srcdir)/thanks-gen \ + | LC_ALL=en_US.UTF-8 sort -f; \ + echo; \ + printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:; \ + } > $@-t && chmod a-w $@-t && mv $@-t $@ diff --git a/THANKS b/THANKS deleted file mode 100644 index 6abd647f..00000000 --- a/THANKS +++ /dev/null @@ -1,107 +0,0 @@ - Copyright (C) 1992, 1997-2002, 2004-2014 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. - -Arnold Robbins <arnold@skeeve.com> -Akim Demaille <akim@epita.fr> -Alain Magloire <alainm@gnu.org> -Andreas Schwab <schwab@suse.de> -Andreas Ley <andy@rz.uni-karlsruhe.de> -Bastiaan "Darquan" Stougie <darquan@zonnet.nl> -Ben Elliston <bje@cygnus.com> -Bernd Strieder <strieder@student.uni-kl.de> -Bernhard Rosenkraenzer <bero@arklinux.org> -Bob Proulx <rwp@hprwp.fc.hp.com> -Brian Youmans <3diff@gnu.org> -Bruno Haible <haible@ilog.fr> -Christian Groessler <cpg@aladdin.de> -Corinna Vinschen <vinschen@redhat.com> -Dagobert Michelsen <dam@opencsw.org> -Daisuke GOTO <gotoh@m-design.com> -Dave Reisner <d@falconindy.com> -David Clissold <cliss@austin.ibm.com> -David J MacKenzie <djm@catapult.va.pubnix.com> -David O'Brien <obrien@freebsd.org> -Dmitry V. Levin <ldv@altlinux.org> -Egmont Koblinger <egmont@gmail.com> -Eli Zaretskii <eliz@is.elta.co.il> -Eric Blake <eblake@redhat.com> -Fernando Basso <fernandobasso.br@gmail.com> -Florian La Roche <laroche@redhat.com> -Franc,ois Pinard <pinard@IRO.UMontreal.CA> -Gerald Stoller <gerald_stoller@hotmail.com> -Grant McDorman <grant@isgtec.com> -Greg Louis <glouis@dynamicro.on.ca> -Guglielmo 'bond' Bondioni <g.bondioni@libero.it> -H. Merijn Brand <h.m.brand@hccnet.nl> -Harald Hanche-Olsen <hanche@math.ntnu.no> -Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> -Heikki Korpela <heko@iki.fi> -Igor O. Ladygin <assa@zabtrans.ru> -Ilya Basin <basinilya@gmail.com> -Isamu Hasegawa <isamu@yamato.ibm.com> -Jaroslav Škarvada <jskarvad@redhat.com> -Jeff Bailey <jbailey@nisa.net> -Jim Hand <jhand@austx.tandem.com> -Jim Meyering <meyering@redhat.com> -Jochen Hein <jochen.hein@delphi.central.de> -Joel N. Weber II <devnull@gnu.org> -Johan Walles <johan.walles@gmail.com> -John Hughes <john@nitelite.calvacom.fr> -Jorge Stolfi <stolfi@dcc.unicamp.br> -Juan Manuel Guerrero <ST001906@HRZ1.HRZ.TU-Darmstadt.De> -Julian Foad <julianfoad@btopenworld.com> -Karl Berry <karl@gnu.org> -Karl Heuer <kwzh@gnu.org> -Kaveh R. Ghazi <ghazi@caip.rutgers.edu> -Kazuro Furukawa <furukawa@apricot.kek.jp> -Keith Bostic <bostic@bsdi.com> -Krishna Sethuraman <krishna@sgihub.corp.sgi.com> -Kurt D Schwehr <kdschweh@insci14.ucsd.edu> -Ludovic Courtès <ludo@gnu.org> -Marc Aldorasi <m101010a@gmail.com> -Mark Waite <markw@mddmew.fc.hp.com> -Martin P.J. Zinser <zinser@decus.de> -Martin Rex <martin.rex@sap-ag.de> -Michael Aichlmayr <mikla@nx.com> -Mike Frysinger <vapier@gentoo.org> -Miles Bader <miles@ccs.mt.nec.co.jp> -Mirraz Mirraz <mirraz1@rambler.ru> -Nelson H. F. Beebe <beebe@math.utah.edu> -Olaf Kirch <okir@ns.lst.de> -Paolo Bonzini <bonzini@gnu.org> -Paul Eggert <eggert@twinsun.com> -Paul Kimoto <kimoto@spacenet.tn.cornell.edu> -Péter Radics <mitchnull@gmail.com> -Phillip C. Brisco <phillip.craig.brisco@ccmail.census.gov> -Philipp Kohlbecher <xt28@gmx.de> -Philippe Defert <Philippe.Defert@cern.ch> -Philippe De Muyter <phdm@info.ucl.ac.be> -Philip Hazel <ph10@cus.cam.ac.uk> -Rainer Orth <ro@cebitec.uni-bielefeld.de> -Roland Roberts <rroberts@muller.com> -Ruslan Ermilov <ru@freebsd.org> -Santiago Ruano Rincón <santiago@debian.org> -Santiago Vila <sanvila@unex.es> -Shannon Hill <hill@synnet.com> -Sotiris Vassilopoulos <Sotiris.Vassilopoulos@betatech.gr> -Standish Parsley <adsspamtrap01@yahoo.com> -Stewart Levin <stew@sep.stanford.edu> -Strahinja Kustudic <kustodian@gmail.com> -Sven Joachim <svenjoac@gmx.de> -Sydoruk Stepan <step@unitex.kiev.ua> -Tapani Tarvainen <tt@mit.jyu.fi> -Tim Waugh <twaugh@redhat.com> -Tom 'moof' Spindler <dogcow@ccs.neu.edu> -Tom Tromey <tromey@creche.cygnus.com> -Tony Abou-Assaleh <taa@acm.org> -Ulrich Drepper <drepper@cygnus.com> -UEBAYASHI Masao <masao@nf.enveng.titech.ac.jp> -Uwe H. Steinfeld <usteinfeld@gmx.net> -Volker Borchert <bt@teknon.de> -Wichert Akkerman <wichert@cistron.nl> -William Bader <william@nscs.fast.net> -Wolfgang Schludi <schludi@syscomp.de> -Zoltan Herczeg <hzmester@freemail.hu> diff --git a/THANKS.in b/THANKS.in new file mode 100644 index 00000000..aeaf516d --- /dev/null +++ b/THANKS.in @@ -0,0 +1,99 @@ +These people have contributed to the GNU grep. Those contributions are +described in the version control logs. If your name has been left out, +if you'd rather not be listed, or if you'd prefer a different address +be used, please send a note to the bug-report mailing list (as seen at +end of e.g., grep --help). +## +## There is no need to list here any name that appears as an Author in +## "git log" output. Those are automatically added when this template +## is used to generate the THANKS file. Note that numerous people listed +## here would have been listed as commit authors if we had been using git +## for version control when they contributed. + +Akim Demaille akim@epita.fr +Andreas Schwab schwab@suse.de +Andreas Ley andy@rz.uni-karlsruhe.de +Bastiaan "Darquan" Stougie darquan@zonnet.nl +Ben Elliston bje@cygnus.com +Bernd Strieder strieder@student.uni-kl.de +Bob Proulx rwp@hprwp.fc.hp.com +Brian Youmans 3diff@gnu.org +Christian Groessler cpg@aladdin.de +Dagobert Michelsen dam@opencsw.org +Daisuke GOTO gotoh@m-design.com +Dave Reisner d@falconindy.com +David Clissold cliss@austin.ibm.com +David J MacKenzie djm@catapult.va.pubnix.com +David O'Brien obrien@freebsd.org +Egmont Koblinger egmont@gmail.com +Fernando Basso fernandobasso.br@gmail.com +Florian La Roche laroche@redhat.com +François Pinard pinard@iro.umontreal.ca +Gerald Stoller gerald_stoller@hotmail.com +Grant McDorman grant@isgtec.com +Greg Louis glouis@dynamicro.on.ca +Guglielmo 'bond' Bondioni g.bondioni@libero.it +H. Merijn Brand h.m.brand@hccnet.nl +Harald Hanche-Olsen hanche@math.ntnu.no +Hans-Bernhard Broeker broeker@physik.rwth-aachen.de +Heikki Korpela heko@iki.fi +Igor O. Ladygin assa@zabtrans.ru +Ilya Basin basinilya@gmail.com +Isamu Hasegawa isamu@yamato.ibm.com +Jeff Bailey jbailey@nisa.net +Jim Hand jhand@austx.tandem.com +Jochen Hein jochen.hein@delphi.central.de +Joel N. Weber II devnull@gnu.org +John Hughes john@nitelite.calvacom.fr +Jorge Stolfi stolfi@dcc.unicamp.br +Juan Manuel Guerrero ST001906@HRZ1.HRZ.TU-Darmstadt.De +Karl Heuer kwzh@gnu.org +Kaveh R. Ghazi ghazi@caip.rutgers.edu +Kazuro Furukawa furukawa@apricot.kek.jp +Keith Bostic bostic@bsdi.com +Krishna Sethuraman krishna@sgihub.corp.sgi.com +Kurt D Schwehr kdschweh@insci14.ucsd.edu +Ludovic Courtès ludo@gnu.org +Marc Aldorasi m101010a@gmail.com +Mark Waite markw@mddmew.fc.hp.com +Martin P.J. Zinser zinser@decus.de +Martin Rex martin.rex@sap-ag.de +Michael Aichlmayr mikla@nx.com +Miles Bader miles@ccs.mt.nec.co.jp +Mirraz Mirraz mirraz1@rambler.ru +Nelson H. F. Beebe beebe@math.utah.edu +Olaf Kirch okir@ns.lst.de +Paul Kimoto kimoto@spacenet.tn.cornell.edu +Péter Radics mitchnull@gmail.com +Phillip C. Brisco phillip.craig.brisco@ccmail.census.gov +Philipp Kohlbecher xt28@gmx.de +Philippe Defert Philippe.Defert@cern.ch +Philippe De Muyter phdm@info.ucl.ac.be +Philip Hazel ph10@cus.cam.ac.uk +Rainer Orth ro@cebitec.uni-bielefeld.de +Roland Roberts rroberts@muller.com +Ruslan Ermilov ru@freebsd.org +Santiago Vila sanvila@unex.es +Shannon Hill hill@synnet.com +Sotiris Vassilopoulos Sotiris.Vassilopoulos@betatech.gr +Standish Parsley adsspamtrap01@yahoo.com +Stewart Levin stew@sep.stanford.edu +Strahinja Kustudic kustodian@gmail.com +Sven Joachim svenjoac@gmx.de +Sydoruk Stepan step@unitex.kiev.ua +Tapani Tarvainen tt@mit.jyu.fi +Tim Waugh twaugh@redhat.com +Tom 'moof' Spindler dogcow@ccs.neu.edu +Tom Tromey tromey@creche.cygnus.com +Ulrich Drepper drepper@cygnus.com +UEBAYASHI Masao masao@nf.enveng.titech.ac.jp +Uwe H. Steinfeld usteinfeld@gmx.net +Volker Borchert bt@teknon.de +Wichert Akkerman wichert@cistron.nl +William Bader william@nscs.fast.net +Wolfgang Schludi schludi@syscomp.de +Zoltan Herczeg hzmester@freemail.hu + +;; Local Variables: +;; coding: utf-8 +;; End: @@ -78,6 +78,19 @@ sc_prohibit_emacs__indent_tabs_mode__setting: halt='use of emacs indent-tabs-mode: setting' \ $(_sc_search_regexp) +# THANKS.in is a list of name/email pairs for people who are mentioned in +# commit logs (and generated ChangeLog), but who are not also listed as an +# author of a commit. Name/email pairs of commit authors are automatically +# extracted from the repository. As a very minor factorization, when +# someone who was initially listed only in THANKS.in later authors a commit, +# this rule detects that their pair may now be removed from THANKS.in. +sc_THANKS_in_duplicates: + @{ git log --pretty=format:%aN | sort -u; \ + cut -b-36 THANKS.in | sed '/^$$/d;s/ *$$//'; } \ + | sort | uniq -d | grep . \ + && { echo '$(ME): remove the above names from THANKS.in' \ + 1>&2; exit 1; } || : + update-copyright-env = \ UPDATE_COPYRIGHT_USE_INTERVALS=1 \ UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 diff --git a/thanks-gen b/thanks-gen new file mode 100755 index 00000000..f1c11b3a --- /dev/null +++ b/thanks-gen @@ -0,0 +1,16 @@ +#!/usr/bin/perl -nl +# Use Perl's multi-byte alignment code, via sprintf, while +# performing a rudimentary check for duplicate names and +# removing duplicate name,email pairs. +use Encode; + +BEGIN { my (%seen, %name) } + +chomp; +my ($name, $email) = split '\0', decode ('UTF-8', $_); + +$seen{$name}++ + and warn "$0: THANKS.in: duplicate name: $name\n"; + +print encode ('UTF-8', sprintf ('%-36s', $name)), $email + unless $seen{"$name\0$email"}++; |