aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/mtn2git/manglenames.py
blob: 217a4d26a07bd27235cc0fd1518596e8bab5965d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Simple map from realname to...
# realname : ([keynames], "email address")

all_names = {
    "Adrian Davey"       : (["ade@openembedded.org"], "ade@beth2.org"),
    "Alan Carvalho de Assis"  : (["acassis@gmail.com"], "acassis@gmail.com"),
    "Alessandro Gardich" : (["gremlin@gremlin.it"], "gremlin@gremlin.it"),
    "Alessandro Iurlano" : (["Alessandro Iurlano alessandro.iurlano@gmail.com", "alessandro.iurlano@gmail.com"], "alessandro.iurlano@gmail.com"),
    "Alexander Hanff"    : (["core.ldf@gmail.com"], "core.ldf@gmail.com"),
    "Alexis Maldonado "  : (["Alexis Maldonado <maldonad@cs.tum.edu>"], "maldonad@cs.tum.edu"),
    "Alex Lange"         : (["Alex Lange"], "chicken@handhelds.org"),
    "Alex Osborne"       : (["Alex Osborne"], "ato@meshy.org"),
    "Andrea Adami"       : (["andrea.adami@gmail.com"], "andrea.adami@gmail.com"),
    "Andrew Paulsen"     : (["andrew.paulsen@gmail.com"], "andrew.paulsen@gmail.com"),
    "Andrew Wilcox"      : (["awilcox@openembedded.org"], "andy@protium.com"),
    "Angus Ainslie"      : (["angus@handheldshell.com"], "angus@handheldshell.com"),
    "ant"                : (["ant", "ant, Jay"], "ant@unknown.openembedded.org"),
    "Antonio Ospite"     : (["ospite@studenti.unina.it"], "ospite@studenti.unina.it"),
    "Antti Andreimann"   : (["antti.andreimann@mail.ee", "mailto:antti.andreimann@mail.ee"], "antti.andreimann@mail.ee"),
    "araimondi"          : (["araimondi@gmx.net"], "araimondi@gmx.net"),
    "Arjan Schrijver"    : (["arjan@openembedded.org"], "arjan@anymore.nl"),
    "Bastian Ballmann"   : (["balle@chaostal.de", "Bastian Ballmann <balle@chaostal.de>"], "balle@chaostal.de"),
    "Bernhard Guillon"   : (["Bernhard.Guillon@opensimpad.org", "Bernhard Guillon <Bernhard.Guillon@opensimpad.org>", "Bernhard Guillon <Bernhard.Guillon@opensimpad.org> - close #1874"], "Bernhard.Guillon@opensimpad.org"),
    "Bernhard Rosenkraenzer" : (["bero@arklinux.org"], "bero@arklinux.org"),
    "Bignaux Ronan"      : (["ronan@aimao.org"], "ronan@aimao.org"),
    "Bruno Randolf"      : (["br1@openembedded.org", "(none)!br1"], "br1@subnet.at"),
    "Carsten Schneider"  : (["Carsten Schneider <zcarsten@gmx.net>"], "zcarsten@gmx.net"),
    "ccsmart"            : (["ccsmart@openembedded.org", "ccsmart@smartpal.de"], "ccsmart@smartpal.de"),
    "Cesar Eduardo Barros"     : (["cesarb@cesarb.net"], "cesarb@cesarb.net"),
    "Chia-I Wu"          : (["olvaffe@gmail.com"], "olvaffe@gmail.com"),
    "Chris Larson"       : (["clarson@kergoth.com", "tuxnami.org!kergoth", "(none)!kergoth", "ti.com!kergoth", "direwolf!kergoth", "ti.com!a0868066", "ti.com!patch", "local!kergoth", "local[kergoth]!kergoth", "handhelds.org!kergoth", "org[kergoth]!kergoth", "kergoth.com!kergoth", "com[kergoth]!kergoth"], "clarson@kergoth.com"),
    "Chris Lord"         : (["Cwiiis", "(none)!cwiiis"], "chris@openedhand.com"),
    "Christiano P."      : (["Cristiano P. <cris69@solnet.ch>"], "cris69@solnet.ch"),
    "Clark Wixon"        : (["cwixon@usa.net"], "cwixon@usa.net"),
    "Clement Hermann"    : (["clement.hermann@free.fr"], "clement.hermann@free.fr"),
    "Cliff Brake"        : (["cbrake@openembedded.org", "accelent.com!cbrake", "rr.com!cbrake"], "cbrake@bec-systems.com"),
    "Craig Hughes"       : (["craig@gumstix.com"], "craig@gumstix.com"),
    "Cyril Romain"       : (["c.romain@laposte.net", "CyrilRomain", "Cyril Romain", "cyril Romain <c.romain@laposte.net>", "Cyril Romain <c.romain@laposte.net>", "cyril.romain@gmail.com", "cyril.romain@laposte.net"], "cyril.romain@gmail.com"),
    "Daniel Willmann"    : (["daniel@openembedded.org", "daniel@totalueberwachung.de"], "daniel@totalueberwachung.de"),
    "Dan Williams"       : (["Dan Williams <dan.j.williams@gmail.com>"], "dan.j.williams@gmail.com"),
    "David Karlstrom"    : (["daka@nslu2-linux.org", "daka@thg.se"], "daka@thg.se"),
    "Denys Dmytriyenko"  : (["denis@denix.org"], "denis@denix.org"),
    "Derek Young"        : (["dyoung@nslu2-linux.org", "(none)!dereky", "(none)!dyoung"], "dyoung@nslu2-linux.org"),
    "Dirk Opfer"         : (["dirk@openembedded.org", "opfer.lan!dirk"], "dirk@opfer-online.de"),
    "Dmitry Artamonow"   : (["DmitryArtamonow", "mad_soft@inbox.ru"], "mad_soft@inbox.ru"),
    "Dmitry Baryshkov"   : (["Dmitry Baryshkov <dbaryshkov@gmail.com>", "dbaryshkov@gmail.com"], "dbaryshkov@gmail.com"),
    "Dojii Seketeli"     : (["dodji@openedhand.com"], "dodji@openedhand.com"),
    "Dominik Kuhlen"     : (["kuhlen@openembedded.org"], "kuhlen@gmit-gmbh.de"),
    "Eblis"              : (["eblis102@gmail.com"], "eblis102@gmail.com"),
    "Erik Hovland"       : (["erik@openembedded.org", "erik@hovland.org"], "erik@hovland.org"),
    "Esben Haabendal"    : (["eha@doredevelopment.dk"], "eha@doredevelopment.dk"),
    "Fabrice Aeschbacher": (["Fabrice.Aeschbacher@siemens.com"], "fabrice.aeschbacher@siemens.com"),
    "Felix Domke"        : (["tmbinc@openembedded.org"], "tmbinc@elitedvb.ne"),
    "Florian Boor"       : (["florian@openembedded.org"], "florian.boor@kernelconcepts.de"),
    "Frans Meulenbroeks" : (["eFfeM@openembedded.org"], "fransmeulenbroeks@yahoo.com"),
    "Frederic Bompart"   : (["frederic@openembedded.org"], "frederic@unknown.openembedded.org"),
    "Geoffrey Wossum"    : (["gwossum", "gwossum@acm.org", "geoffrey.wossum"], "gwossum@acm.org"),
    "Gerald Britton"     : (["doomcom.org!gbritton", "org[gbritton]!gbritton"], "gbritton@doomcom.org"),
    "giel"               : (["giel"], "giel@unknown.openembedded.org"),
    "gilligan"           : (["gilligan@openembedded.org"], "gilligan@unknown.openembedded.org"),
    "Giorgio Padrin"     : (["Giorgio Padrin <giorgio@mandarinlogiq.org>"], "giorgio@mandarinlogiq.org"),
    "GoxboxLive"         : (["GoxboxLive <goxboxlive@gmail.com>"], "goxboxlive@gmail.com"),
    "Graeme Gregory"     : (["dp@xora.org.uk", "xora@openembedded.org", "hyboria!xora", "(none)!xora", "(none)!XorA"], "dp@xora.org.uk"),
    "Greg Gilbert"       : (["brooks.edu!ggilbert", "(none)!ggilbert", "treke.ath.cx!ggilbert", "treke.net!ggilbert"], "greg@treke.net"),
    "Grzegorz Ratajczak" : (["McGregor <mcgregor@blackmesaeast.com.pl>"], "mcgregor@blackmesaeast.com.pl"),
    "Harald Welte"       : (["laforge@openmoko.org"], "laforge@openmoko.org"),
    "Helge Deller"       : (["deller@gmx.de"], "deller@gmx.de"),
    "Henning Heinold"    : (["woglinde", "woglinde@openembedded.org", "woglinde2@openembedded.org"], "heinold@inf.fu-berlin.de"),
    "Henryk Ploetz"      : (["henryk@openembedded.org", "henryk@openmoko.org", "henryk.ploetz"], "henryk@openmoko.org"),
    "Henry von Tresckow" : (["hvontres@gmail.com", "hvontres"], "hvontres@gmail.com"),
    "hillct-oe"          : (["hillct-oe@pinnacledigital.com"], "hillct-oe@pinnacledigital.com"),
    "Holger Freyther"    : (["freyther@openembedded.org", "zecke@selfish.org", "handhelds.org!zecke", "(none)!ich"], "zecke@selfish.org"),
    "Holger Schurig"     : (["schurig@openembedded.org", "hs4233@mail.mn-solutions.de", "homelinux.net!schurig", "mn-logistik.de!schurig", "mn-solutions.de!schurig"], "schurig@mn-solutions.de"),
    "ja4mail"            : (["jay4mail@gmail.com"], "jay4mail@gmail.com"),
    "Jake Morrison"      : (["Jake MORRISON", "Jake Morrison <jake@cogini.com>", "Jake MORRISON <jake@cogini.com>"], "jake@cogini.com"),
    "Jamie Lenehan"      : (["lenehan@openembedded.org", "lenehan@twibble.org"], "lenehan@twibble.org"),
    "Jan Lübbe"          : (["jluebbe@lasnet.de", "jluebbe@openembedded.org"], "jluebbe@debian.org"),
    "Jeremy Laine"       : (["jemery_laine", "Jereme_Laine", "Jeremy_Laine", "jeremy.laine@m4x.org", "jeremy_laine@openembedded.org", "jeremy_laine"], "jeremy.laine@m4x.org"),
    "Jeroen Hoek"        : (["Jeroen Hoek"], "mail@jeroenhoek.nl"),
    "Joaquim Duran"      : (["Joaquim Duran <joaquinduran@adtelecom.es>", "joaquinduran@adtelecom.es"], "joaquinduran@adtelecom.es"),
    "John Bowler"        : (["jbowler@nslu2-linux.org", "kalmiopsis!jbowler"], "jbowler@nslu2-linux.org"),
    "John Lee"           : (["john_lee@openembedded.org", "john_lee@openmoko.com"], "john_lee@openmoko.org"),
    "Jonathan McDowell"  : (["noodles@openembedded.org", "orange!noodles"], "noodles@earth.li"),
    "Jordan Crouse"      : (["amd.com!jcrouse"], "jordan.crouse@amd.com"),
    "Jorik Jonker"       : (["jorik@kippendief.biz"], "jorik@kippendief.biz"),
    "José Bernardo de Bandos Rodrigues da Silva" : (["jbs@bandos.homelinux.com"], "jbs@bandos.homelinux.com"),
    "Joseph Cole"        : (["jnc@openembedded.org"], "jnc@unknown.openembedded.org"),
    "Joshua Wise"        : (["joshuawise.com!joshua"], "joshua@joshuawise.com"),
    "jp30"               : (["jp30@nslu2-linux.org"], "jp30@nslu2-linux.org"),
    "Junqian Gordon Xu"  : (["xjqian@gmail.com", "xjqian@openembedded.org"], "xjqian@gmail.com"),
    "Justin Patrin"      : (["justinp@openembedded.org"], "papercrane@gmail.com"),
    "Kalev Lember"       : (["kalev@smartlink.ee"], "kalev@smartlink.ee"),
    "Karol Sokolowski"   : (["Karol Sokolowski <sokoowpwr@o2.pl>"], "sokoowpwr@o2.pl"),
    "Khem Raj"           : (["khem@openembedded.org", "KhemRaj", "raj.khem@gmail.com"], "raj.khem@gmail.com"),
    "Koen Kooi"          : (["koen@openembedded.org", "(none)!koen", "utwente.nl!koen", "void!koen"], "koen@openembedded.org"),
    "kolla"              : (["kolla@uninett.no"], "kolla@uninett.no"),
    "Kristoffer Ericson" : (["kristoffer@openembedded.org"], "kristoffer_e1@hotmail.com"),
    "Leon Woestenberg"   : (["likewise@gmx.net", "likewise@openembedded.org"], "leon.woestenberg@gmail.com"),
    "Leon Zhang"         : (["Leon Zhang"], "leoncamel@gmail.com"),
    "Liam Girdwood"      : (["lrg@openembedded.org"], "liam.girdwood@wolfsonmicro.com"),
    "Lorn Potter"        : (["trolltech.com.au!lpotter", "(none)!lpotter"], "lpotter@trolltech.com"), 
    "Lukas Gorris"       : (["Lukas Gorris", "lukas.gorris@gmx.de"], "lukas.gorris@gmx.de"),
    "Manuel Teira"       : (["Manuel Teira <manuel.teira@telefonica.net>", "manuel.teira@telefonica.net", "sirfred@openembedded.org"], "manuel.teira@telefonica.net"),
    "Marcin Juszkiewicz" : (["Marcin", "Marcin Juszkiewicz <openembedded@hrw.one.pl>", "Marcin Juzkiewicz <hrw@openembedded.org>", "hrw@openedhand.com", "hrw@openembedded.org", "local!szczepan", "hrw.one.pl!szczepan", "hrw.one.pl!hrw", "local!hrw"], "hrw@openembedded.org"),
    "Marek Vasut"        : (["MarekVasut", "marek.vasut@gmail.com", "Marek Vasut <marek.vasut@gmail.com>", "Marek Vašut <marek.vasut@gmail.com>"], "marek.vasut@gmail.com"),
    "Mark Brown"         : (["broonie@sirena.org.uk", "broonie"], "broonie@sirena.org.uk"),
    "Martin Dietze"      : (["MartinDietze@openembedded.org"], "di@fh-wedel.de"),
    "Matthew Swabey"     : (["mas@ecs.soton.ac.uk", "mattaw"], "mas@ecs.soton.ac.uk"),
    "Matthew Allum"      : (["(none)!mallum"], "mallum@openedhand.com"),
    "Matthias Goebl"     : (["mgoebl@openembedded.org"], "oe@m.goebl.net"),
    "Matthias Hentges"   : (["coredump2@openembedded.org", "coredump@openembedded.org", "local!CoreDump", "handhelds.org!CoreDump", "local!mhentges"], "oe@hentges.net"),
    "Matt Reimer"        : (["mreimer@openembedded.org", "mattjreimer@gmail.com"], "mattjreimer@gmail.com"),
    "Michael Krelin"     : (["polyonymous", "polyonymous@klever.net", "polyonymous@openembedded.org"], "hacker@klever.net"),
    "Michael Lauer"      : (["mickeyl", "mickeyl@openembedded.org", "uni-frankfurt.de!mickeyl", "uni-frankfurt.de!mickey", "uni-frankfurt.de!patch", "vanille.de!mickey", "vanille.de!mickeyl", "de[mickey]!mickey", "de[mickey]!mickeyl"], "mickey@vanille-media.de"),
    "Michael-Luke Jones" : (["blaster8@nslu2-linux.org"], "mlj28@cam.ac.uk"),
    "Michal Panczyk"     : (["mpanczyk@gmail.com"], "mpanczyk@gmail.com"),
    "Mika Laitio"        : (["lamikr@openembedded.org"], "lamikr@cc.jyu.fi"),
    "Mike Montour"       : (["mail@mmontour.net"], "mail@mmontour.net"),
    "Mike Westerhof"     : (["mwester@openembedded.org", "mwester@wraith"], "mwester@dls.net"),
    "Mustafa Yuecel"     : (["yuecelm@nslu2-linux.org", "yuecelm@openembedded.org", "musti@openembedded.org"], "yuecelm@ee.ethz.ch"),
    "Nicolas Ferre"      : (["nicolas.ferre@atmel.com", "nicolas.ferre@rfo.atmel.com", "nicolasfr@gmail.com", "Enodr <nicolasfr@gmail.com>"], "nicolasfr@gmail.com"),
    "Nigel Kostiuck"     : (["labotomy.net!emte", "(none)!emte"], "emte@labotomy.net"),
    "Oliver Fels"        : (["oliver.fels@gmx.net", "Oliver Fels <oliver.fels@gmx.net>"], "oliver.fels@gmx.net"),
    "Ondrej Sokol"       : (["Ondrej Sokol <o.sokol@seznam.cz>"], "o.sokol@seznam.cz"),
    "OpenEmbedded Project"     : (["oe@openembedded.org"], "openembedded-devel@lists.openembedded.org"),
    "Openmoko anonymizer key"  : (["openmoko@openembedded.org"], "devel@lists.openmoko.org"),
    "Otavio Salvador"    : (["otavio@ossystems.com.br", "Otavio Salvador <otavio@debian.org>", "Otavio Salvador <otavio@ossystems.com.br>"], "otavio@ossystems.com.br"),
    "Ottavio Campana"    : (["Ottavio Campana"], "ottavio@campana.vi.it"),
    "Ovidiu Sas"         : (["osas@nslu2-linux.org"], "sip.nslu@gmail.com"),
    "Oyvind Repvik"      : (["nail@nslu2-linux.org", "oyvind@repvik.org"], "nail@nslu2-linux.org"),
    "Patrick Ohly"       : (["pohly@openembedded.org"], "patrick.ohly@gmx.de"),
    "Patrick Steiner"    : (["law@a1.net", "law@openembedded.org", "Patrick Steiner <law@a1.net>", "Patrick Steiner <patrick.steiner@a1.net>"], "law@a1.net"),
    "Patrik Gfeller"     : (["Patrik Gfeller <gfellerpatrik@gmx.net>", "gfellerpatrik@gmx.net"], "gfellerpatrik@gmx.net"),
    "Paul Eggleton"      : (["bluelightning", "bluelightning@bluelightning.org", "bluelightning@openembedded.org", "Paul Eggleton"], "bluelightning@bluelightning.org"),
    "Paul Sokolovsky"    : (["pfalcon@openembedded.org", "pmiscml@gmail.com"], "pmiscml@gmail.com"),
    "Peter Urbanec"      : (["peteru@openembedded.org", "black.lan!peteru"], "toppy@urbanec.net"),
    "Petr Stetiar"       : (["ynezz@true.cz", "PetrŠtetiar"], "ynezz@true.cz"),
    "Phil Blundell"      : (["pb@openembedded.org", "nexus.co.uk!pb", "(none)!pb", "uk[pb]!pb", "reciva.com!pb", "uni-frankfurt.de!pb_"], "philb@gnu.org"),
    "Philip Balister"    : (["crofton@openembedded.org"], "philip@balister.org"),
    "Philippe De Swert"  : (["philippe@openembedded.org"], "philippedeswert@scarlet.be"),
    "Philipp Zabel"      : (["ph5@openembedded.org", "pH5@openembedded.org"], "philipp.zabel@gmail.com"),
    "Pieter G"           : (["pieterg@gmx.com"], "pieterg@gmx.com"),
    "Purdyd"             : (["purdyd_at_wisheights@yahoo.com"], "purdyd_at_wisheights@yahoo.com"),
    "Raymond Danks"      : (["raymond@edanks.com"], "raymond@edanks.com"),
    "Rene Wagner"        : (["rw@openembedded.org", "dyndns.org!oe", "dyndns.org!reenoo"], "rw@handhelds.org"),
    "Richard Purdie"     : (["rpurdie@openembedded.org", "rpurdie@rpsys.net", "rpsys.net!RP", "example.net!RP", "rpsys.net!anon", "rpsys.net!root", "example.net!root"], "rpurdie@rpsys.net"),
    "Rick Farina"        : (["Zero_Chaos", "Zero_Chaos <sidhayn@hotmail.com>"], "sidhayn@hotmail.com"),
    "Robert Demski"      : (["Robert Demski <Robert.Demski@wp.pl>"], "Robert.Demski@wp.pl"),
    "Robert Schuster"    : (["thebohemian@openembedded.org", "thebohemian2@openembedded.org", "thebohemian@gmx.net", "theBohemian@gmx.net"], "thebohemian@gmx.net"),
    "Rodrigo Vivi"       : (["rodrigo.vivi@gmail.com", "rodrigo.vivi@openembedded.org"], "rodrigo.vivi@gmail.com"),
    "Rod Whitby"         : (["rwhitby@nslu2-linux.org", "nslu2-linux@nslu2-linux.org", "rwhitby.net!rwhitby", "(none)!rwhitby"], "rod@whitby.id.au"),
    "Rolf Leggewie"      : (["Rolf Leggewie <bugs.openembedded.org@rolf.leggewie.biz>", "bugs.openembedded.org@rolf.leggewie.biz", "Laibsch@openembedded.org"], "oe-devel@rolf.leggewie.biz"),
    "Roman Moravcik"     : (["roman.moravcik@gmail.com"], "roman.moravcik@gmail.com"),
    "Russ Ferriday"      : (["russf@topia.com"], "russf@topia.com"),
    "Sergey Bostandzhyan": (["jin@mediatomb.cc", "jin@mediatomb.org"], "jin@mediatomb.org"),
    "Sergey Lapin"       : (["Sergey Lapin <slapinid@gmail.com>", "slapin", "slapinid@gmail.com", "slapin@openembedded.org"], "slapinid@gmail.com"),
    "Shane Volpe"        : (["Shane Volpe", "shanevolpe@gmail.com", "Shane Volpe <shanevolpe@gmail.com>", "svolpe@openembedded.org"], "shanevolpe@gmail.com"),
    "Simon Vogl"         : (["simon.vogl@researchstudio.at", "vogl@soft.uni-linz.ac.at"], "vogl@soft.uni-linz.ac.at"),
    "Sleep Walker"       : (["Sleep.Walker <froser@gmail.com>"], "froser@gmail.com"),
    "Sören Apel"         : (["abraxa_", "abraxa@dar-clan.de"], "abraxa@dar-clan.de"),
    "Stanislav Brabec"   : (["utx@openembedded.org", "utx@penguin.cz", "Stanislav Brabec <utx@penguin.cz>"], "utx@penguin.cz"),
    "Stefan Schmidt"     : (["stefan@openembedded.org", "Stefan Schmidt"], "stefan@datenfreihafen.org"),
    "Stelios Koroneos"   : (["ifaistos@openembedded.org"], "skoroneos@digital-opsis.com"),
    "Stepan Backshaev"   : (["Stepan Backshaev <step2back@gmail.com>"], "step2back@gmail.com"),
    "Steve Sakoman"      : (["sakoman@gmail.com", "steve@sakoman.com"], "steve@sakoman.com"),
    "Thomas Kunze"       : (["thesing", "thesing@openembedded.org", "Thomas Kunze <thesing>", "Thomas Kunze <thommycheck@gmx.de>", "Thomas Kunze <thommy@tabao.de>", "thommy@tabao.de"], "thommycheck@gmx.de"),
    "Thomas Wood"        : (["thomas@openedhand.com"],"thomas@openedhand.com"),
    "Tim Ansell"         : (["mithis.com!buildroot", "mithis.com!mithro", "com[tim]!mithro"], "mithro@mithis.com"),
    "Tim Ellis"          : (["tim.ellis@mac.com"], "tim.ellis@mac.com"),
    "Tim Hurman"         : (["kano.org.uk!timh"], "kano@kano.org.uk"),
    "Tim Sander"         : (["oe@iss.tu-darmstadt.de"], "oe@iss.tu-darmstadt.de"),
    "T Kemp"             : (["tkemp@klc.net.nz"], "tkemp@klc.net.nz"),
    "Todd Blumer"        : (["todd@openembedded.org", "todd@sdgsystems.com"], "todd@sdgsystems.com"),
    "Tom King"           : (["ka6sox@nslu2-linux.org"], "ka6sox@nslu2-linux.org"),
    "Tom Kirkpatrick"    : (["Tom Kirkpatrck", "stv@kirkconsulting.co.uk", "Tom Kirkpatrick <stv@kirkconsulting.co.uk>"], "stv@kirkconsulting.co.uk"),
    "Tom Rini"           : (["TomRini", "Tom Rini", "trini@embeddedalley.com", "trini@kernel.crashing.org"], "trini@embeddedalley.com"),
    "Tom Walsh"          : (["Tom Walsh <tom@openhardware.net>"], "tom@openhardware.net"),
    "Valentin Longchamp" : (["valentin.longchamp@epfl.ch"], "valentin.longchamp@epfl.ch"),
    "Wolfson Key"        : (["wolfson@openembedded.org"], "linux@wolfsonmicro.com"),
    "Yin Kangkai"        : (["arfankai@gmail.com"], "arfankai@gmail.com"),
}

reverse = {
    '1.34!tigrux' : None,
    'apache' : None,
    'bitkeeper.com!nslu2-linux.adm' : None,
    'bkbits.net!nslu2-linux.adm' : None,
    'bkbits.net!openembedded.adm' : None,
    '!ByronT' : None,
    'cambridgebroadband.com!rjt' : None,
    'conversagent.com!fontenot' : None,
    'doma!kebert' : None,
    'giantshoulder.com!g2' : None,
    'home!ral' : None,
    'local!phillim' : None,
    'mine.nu!erich' : None,
    '(none)!chris' : None,
    '(none)!chriz' : None,
    '(none)!dp' : None,
    '(none)!jacques' : None,
    '(none)!openembedded' : None,
    '(none)!pablo' : None,
    '(none)!patrick' : None,
    '(none)!red' : None,
    '(none)!root' : None,
    '(none)!unslung' : None,
    '(none)!wind' : None,
    '(none)!xf005570' : None,
    'nslu2-linux.org!perlguru' : None,
    'rant-central.com!CodeWhacker' : None,
    'rant-central.com!roy' : None,
    'rochcivictheatre.org!tgall' : None,
    'techsurgeons.com!joshin' : None,
    'tetrapyloctomy.org!p.osiczko' : None,
    'thegrantclan.org!jgrant' : None,
    'uottawa.ca!stephane' : None,
    '!xf005570' : None,
    'zeckescompany.nl!alwin' : None,
    'activebuddy.com!fontenot' : None,
}

import re, sys

for name, (ids, email) in all_names.items():
    sys.stderr.write( "%s: %s\n" % (name, email) )
    for id in ids:
        assert not id in reverse
        reverse[id] = (name, email)

rx = re.compile(r"^(author|committer) ([a-zA-Z0-9\[\]\(\)\-\.\_!])* <(.+)> (.+)\n$")

last = ""

for line in sys.stdin:
    m = rx.match(line)
    if m is None:
        sys.stdout.write(line)
        continue
    g = m.groups()
    try:
        replacement = reverse[g[2]]
    except:
        replacement = None
        sys.stderr.write("id unknown %s\n" % repr(g[2]))
    if replacement is None:
        if '!' in g[2]:
            domain, addr = g[2].split('!')
            email = "%s@%s" % (addr, domain)
            replacement = (email, email)
        elif '@' in g[2]:
            replacement = (g[2], g[2])
        else:
            raise "id unknown %s" % repr(replacement)
    line = m.expand(r"\1 %s <%s> \4\n" % replacement )
    sys.stdout.write(line)