Generate AUTHORS using git log

This commit is contained in:
Donald Stufft 2014-02-25 19:38:24 -05:00
parent 0f7af007bf
commit 9dcdbb548f
6 changed files with 85 additions and 11 deletions

25
.mailmap Normal file
View File

@ -0,0 +1,25 @@
Adam Wentz <awentz@theonion.com>
Alex Grönholm <alex.gronholm+git@nextday.fi> <alex.gronholm@nextday.fi>
Anatoly Techtonik <techtonik@gmail.com>
Andrey Bulgakov <mail@andreiko.ru>
Andrei Geacar <andrei.geacar@gmail.com> unknown <hakaton@Anam-mbl.(none)>
Ben Rosser <rosser.bjr@gmail.com>
<carl@dirtcircle.com> <carl@oddbird.net>
Daniel Holth <dholth@fastmail.fm>
<donald@stufft.io> <donald.stufft@gmail.com>
Endoh Takanao <djmchl@gmail.com>
Erik M. Bray <embray@stsci.edu>
Gabriel de Perthuis <g2p.code@gmail.com>
Geoffrey Lehée <geoffrey@lehee.name>
Hsiaoming Yang <lepture@me.com>
Ilya Baryshev <baryshev@gmail.com>
Jakub Stasiak <kuba.stasiak@gmail.com>
John-Scott Atlakson <john.scott.atlakson@gmail.com>
Jorge Niedbalski <niedbalski@gmail.com>
Markus Hametner <fin+github@xbhd.org>
Masklinn <bitbucket.org@masklinn.net>
Preston Holmes <preston@ptone.com>
Przemek Wrzos <hetmankp@none>
Thomas Johansson <devnull@localhost> prencher <devnull@localhost>
Yoval P <yoval@gmx.com>
Zhiping Deng <kofreestyler@gmail.com>

View File

@ -1,13 +1,18 @@
Adam Wentz
Alex Gaynor
Alex Grönholm
Alex Morega
Alexandre Conrad
Anatoly Techtonik
Andrei Geacar
Andrey Bulgakov
Anrs Hu
Anton Patrushev
Antti Kaihola
Armin Ronacher
Aziz Köksal
Ashley Manton
Baptiste Mispelon
Ben Darnell
Ben Rosser
Bernardo B. Marques
Bradley Ayers
@ -21,14 +26,15 @@ Craig Kerstiens
Cristian Sorinel
Dan Sully
Daniel Holth
Daniel Jost
Dave Abrahams
David (d1b)
david
David Aguilar
David Evans
David Pursehouse
dengzhp
Dmitry Gladkov
Donald Stufft
Dongweiming
Endoh Takanao
enoch
Erik M. Bray
@ -39,22 +45,23 @@ Geoffrey Lehée
George Song
Georgi Valkov
Herbert Pfennig
hetmankp
Hsiaoming Yang
Hugo Lopes Tavares
Hynek Schlawack
Ian Bicking
Igor Sobreira
Ilya Baryshev
Ionel Maries Cristian
Jakub Stasiak
Jakub Vysoky
James Cleveland
Jannis Leidel
Jakub Stasiak
Jay Graves
Jeff Dairiki
Jim Garrison
John-Scott Atlakson
Jon Parise
Jonas Nockert
Jon Parise
Jorge Niedbalski
Josh Bronson
Josh Hansen
@ -67,12 +74,13 @@ Kumar McMillan
Lev Givon
Lincoln de Sousa
Luke Macken
Masklinn
Marc Abramowitz
Marc Tamlyn
Marcus Smith
Markus Hametner
Masklinn
Matt Maker
Matthew Iversen
Maxime Rouyrre
Michael Williamson
Miguel Araujo Perez
@ -83,8 +91,9 @@ Oliver Tonnhofer
Olivier Girardot
Ollie Rutherfurd
Oren Held
Patrick Jenkins
Oscar Benjamin
Patrick Dubroy
Patrick Jenkins
Paul Moore
Paul Nasrat
Paul Oswald
@ -97,6 +106,7 @@ Preston Holmes
Przemek Wrzos
Qiangning Hong
Rafael Caricio
Ralf Schmitt
Rene Dudfield
Roey Berman
Ronny Pfannschmidt
@ -106,8 +116,9 @@ Sergey Vasilyev
Seth Woodworth
Simon Cross
Stavros Korokithakis
Stéphane Klein
Stefan Scherfke
Steven Myint
Stéphane Klein
Takayuki SHIMIZUKAWA
Thomas Fenzl
Thomas Johansson
@ -117,4 +128,7 @@ Vinay Sajip
Vitaly Babiy
W. Trevor King
Wil Tan
Hsiaoming Yang
Yoval P
Yu Jian
Zearin
Zhiping Deng

View File

@ -7,3 +7,4 @@ recursive-include docs *.rst
recursive-include docs *.html
recursive-exclude docs/_build *.rst
prune docs/_build/_sources
prune tasks

View File

@ -66,7 +66,7 @@ setup(
author_email='python-virtualenv@groups.google.com',
url='http://www.pip-installer.org',
license='MIT',
packages=find_packages(exclude=["contrib", "docs", "tests*"]),
packages=find_packages(exclude=["contrib", "docs", "tests*", "tasks"]),
package_data={
'pip._vendor.requests': ['*.pem'],
'pip._vendor.distlib._backport': ['sysconfig.cfg'],

5
tasks/__init__.py Normal file
View File

@ -0,0 +1,5 @@
import invoke
from . import generate
ns = invoke.Collection(generate)

29
tasks/generate.py Normal file
View File

@ -0,0 +1,29 @@
import io
import invoke
@invoke.task
def authors():
print("[generate.authors] Generating AUTHORS")
# Get our list of authors
print("[generate.authors] Collecting author names")
# <%aE>
r = invoke.run("git log --use-mailmap --format'=%aN'", hide=True)
authors = []
seen_authors = set()
for author in r.stdout.splitlines():
author = author.strip()
if author.lower() not in seen_authors:
seen_authors.add(author.lower())
authors.append(author)
# Sort our list of Authors by their case insensitive name
authors = sorted(authors, key=lambda x: x.lower())
# Write our authors to the AUTHORS file
print("[generate.authors] Writing AUTHORS")
with io.open("AUTHORS.txt", "w", encoding="utf8") as fp:
fp.write(u"\n".join(authors))
fp.write(u"\n")