# This file contains name to mail address mappings that are usefull
# for old svn based commits (to get nice names instead of mail in blame and
# other tools)
Adam Klein <adamk@google.com>
Adam Singer <financeCoding@gmail.com>
Ahmed Hussein <husseina@google.com>
Alan Knight <alanknight@google.com>
Alan Leung <acleung@google.com>
Alexander Aprelev <aprelev@gmail.com>
alf Filippov <alexeif@google.com>
Amin Shali <amshali@google.com>
Anders Johnsen <ajohnsen@google.com>
Anders Sandholm <sandholm@google.com>
Andrei Mouravski <amouravski@google.com>
Anton Muhin <antonm@google.com>
Asger Feldthaus <asgerf@google.com>
Ben Laurie <benl@google.com>
Ben Wells <benwells@google.com>
Bill Hesse <whesse@google.com>
Bob Nystrom <rnystrom@google.com>
Bradley Nelson <bradnelson@google.com>
Brian Wilkerson <brianwilkerson@google.com>
Carl Shapiro <cshapiro@google.com>
Charlie Reis <creis@google.com>
Chip Brown <chipb@google.com>
Chris Bracken <cbracken@google.com>
Dan Grove <dgrove@google.com>
Daniel Andersson <koda@google.com>
Daniel Tang <tangd@google.com>
Dan Rice <rice@google.com>
Dan Rubel <danrubel@google.com>
David Carlson <dcarlson@google.com>
David Chandler <drfibonacci@google.com>
Devon Carew <devoncarew@google.com>
Dominic Cooney <dominicc@google.com>
Dominic Hamon <dominich@google.com>
Douglas Stockwell <dstockwell@google.com>
Eli Brandt <eub@google.com>
Emily Fortuna <efortuna@google.com>
Eric Arnold <ericarnold@google.com>
Eric Ayers <zundel@google.com>
Erik Arvidsson <arv@google.com>
Erik Corry <erikcorry@google.com>
Erik Ernst <eernst@google.com>
Fabio Valbuena <fabiomfv@google.com>
Florian Loitsch <floitsch@google.com>
Florian Schneider <fschneider@google.com>
Florin Malita <fmalita@google.com>
Gilad Bracha <gbracha@google.com>
Gram Wheeler <gram@google.com>
Greg Bigelow <gregbglw@google.com>
Gustav Wibling <wibling@google.com>
Hannes Payer <hpayer@google.com>
Harry Roeck <hroeck@google.com>
Harry Terkelsen <het@google.com>
Ian Zerny <zerny@google.com>
Igor Sheludko <ishell@google.com>
Ivan Posva <iposva@google.com>
Jack Palevich <jackpal@google.com>
Jacob Macdonald <jakemac@google.com>
Jacob Richman <jacobr@google.com>
Jaime Wren <jwren@google.com>
Jakob Gruber <jgruber@google.com>
Jakob Kummerow <jkummerow@google.com>
Janice Leung <janicejl@google.com>
Jason Rosenberg <jbrosenberg@google.com>
Jenny Messerly <jmesserly@google.com>
Jim Hugunin <jimhug@google.com>
Joel Webber <jgw@google.com>
John Lenz <johnlenz@google.com>
John McCutchan <johnmccutchan@google.com>
John McDole <codefu@google.com>
Johnni Winther <johnniwinther@google.com>
John Tamplin <jat@google.com>
Jørgen Fogh <jrgfogh@google.com>
Joshua Bloch <jjb@google.com>
Justin Fagnani-Bell <justinfagnani@google.com>
Karl Klose <karlklose@google.com>
Kasper Lund <kasperl@google.com>
Kathy Walrath <kathyw@google.com>
Keerti Parthasarathy <keertip@google.com>
Kelly Norton <knorton@google.com>
Kentaro Hara <haraken@google.com>
Kevin Millikin <kmillikin@google.com>
Kevin Moore <kevmoo@google.com>
Kevin Moore <kevmoo@j832.com>
Konstantin Shcheglov <scheglov@google.com>
Lars Bak <bak@google.com>
Lasse Nielsen <lrn@google.com>
Leaf Petersen <leafp@google.com>
Lukas Rytz <lry@google.com>
Luke Church <lukechurch@google.com>
Luke Church <lukeEChurch@gmail.com>
Mads Ager <ager@google.com>
Mark Lentczner <mzero@google.com>
Mark Russell <mrrussell@google.com>
Martin Kustermann <kustermann@google.com>
Mary Campione <mcampione@google.com>
Matthias Hausner <hausner@google.com>
Matt May <mmay@google.com>
Matt Shulman <mattsh@google.com>
Max Heinritz <meh@google.com>
Mehmet Akin <mdakin@google.com>
Michael Achenbach <machenbach@google.com>
Michael Lippautz <mlippautz@google.com>
Michael Starzinger <mstarzinger@google.com>
Miguel Mendez <mmendez@google.com>
Natalie Weizenbaum <nweiz@google.com>
Nathan Collins <collinsn@google.com>
Nicolas Garnier <nivco@google.com>
Nicolas Geoffray <ngeoffray@google.com>
Nicolas Sylvain <nsylvain@google.com>
Nike Igotti (Николай Иготти) <olonho@google.com>
Paul Berry <paulberry@google.com>
Paul Brauner <polux@google.com>
Pavel Podivilov <podivilov@google.com>
Peng Li <lipeng@google.com>
Pete Blois <blois@google.com>
Peter Hallam <peterhal@google.com>
Peter Rybin <prybin@google.com>
Peter von der Ahé <ahe@google.com>
Philip Rogers <pdr@google.com>
Phil Quitslund <pquitslund@google.com>
Rafael Weinstein <rafaelw@google.com>
Raja Aluri <aluri@google.com>
Rajeev Dayal <rdayal@google.com>
Regis Crelier <regis@google.com>
Rico Wind <ricow@google.com>
Rodrigo Chandía <rchandia@google.com>
Roman Shuvaev <smok@google.com>
Ryan Macnak <rmacnak@google.com>
Sam Hopkins <samhop@google.com>
Sam Rawlins <srawlins@google.com>
Sarah Zakarias <zarah@google.com>
Sasha Bermeister <sashab@google.com>
Seth Ladd <sethladd@google.com>
Shailen Tuli <shailentuli@google.com>
Shams Zakhour <shaza@google.com>
Shauvik Roy Choudhary <shauvik@google.com>
Siggi Cherem <sigmund@google.com>
Sigurd Meldgaard <sigurdm@google.com>
Siva Annamalai <asiva@google.com>
Søren Gjesse <sgjesse@google.com>
Srdjan Mitrovic <srdjan@google.com>
Stephan Herhut <herhut@google.com>
Stephen Adams <sra@google.com>
Stephen Chenney <schenney@google.com>
Steve Messick <messick@google.com>
Tayler Mandel <tmandel@google.com>
Terry Lucas <terry@google.com>
Tim Blasi <tjblasi@google.com>
Todd Turnidge <turnidge@google.com>
Tom Ball <tball@google.com>
Ty Overby <tyoverby@google.com>
Ulan Degenbaev <ulan@google.com>
Ulan Degenbaev <ulan@google.com>
Vijay Menon <vsm@google.com>
Vitaly Repeshko <vitalyr@google.com>
Vyacheslav "Slava" Egorov <vegorov@google.com>
Zach Anderson <zra@google.com>
