aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2021-08-04 21:16:28 +0200
committerUlrich Müller <ulm@gentoo.org>2021-08-04 21:16:28 +0200
commit41cb8f94c115f8da4d3ab5657a2808fde00fd290 (patch)
treea48207abba692d62a6750e0ed621dce8badd2340
downloadulm-41cb8f94c115f8da4d3ab5657a2808fde00fd290.tar.gz
ulm-41cb8f94c115f8da4d3ab5657a2808fde00fd290.tar.bz2
ulm-41cb8f94c115f8da4d3ab5657a2808fde00fd290.zip
Document the conversion of the gentoo-x86 CVS repository
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r--README182
-rw-r--r--authormap.txt889
-rw-r--r--authormap.xsl22
-rw-r--r--cvs-fast-export.log1
-rwxr-xr-xmake-authormap.sh15
-rw-r--r--userinfo.dtd23
6 files changed, 1132 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..a434dda
--- /dev/null
+++ b/README
@@ -0,0 +1,182 @@
+Prerequisite packages to install
+================================
+
+- dev-vcs/cvs
+- dev-vcs/cvs-fast-export
+- dev-vcs/git
+- dev-libs/libxslt (for userinfo.xml conversion)
+
+
+Create the author map
+=====================
+
+Extract userinfo.xml from LDAP on dev.gentoo.org:
+$ perl_ldap -U
+
+Create authormap.txt from userinfo.xml:
+$ ./make-authormap.sh >authormap.txt
+
+
+Fetch and unpack the CVS repository
+===================================
+
+Fetch a copy of the archived gentoo-x86 CVS repository from:
+https://projects.gentoo.org/vcs-history/gentoo-x86.tar.gz
+
+
+Run cvs-fast-export
+===================
+
+$ cd var/cvsroot/gentoo-x86
+$ find . | cvs-fast-export -A /path/to/authormap.txt -l /path/to/gentoo-x86-export.log -p >/path/to/gentoo-x86-export.out
+
+This will run for some time (8 hours on i7-8700), mostly as a single
+thread, and produce a 21 GiB output file.
+
+The CVS repository contains a package app-backup/Attic, which confuses
+cvs-fast-export: "Files in CVS Attic and RCS directories are treated
+as though the 'Attic/' or 'RCS/' portion of the path were absent."
+This can be seen in the output file (note that the "Attic" path
+component is missing):
+
+ ----------------------------------------------------------------------
+ commit refs/heads/master
+ mark :5149424
+ committer Hanno Böck <hanno@gentoo.org> 1431281161 +0000
+ data 118
+ Initial commit of Attic
+
+ (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key A5880072BBB51E42)
+
+ from :5149420
+ M 100644 :5149421 app-backup/Attic-0.15.ebuild
+ M 100644 :5149422 app-backup/ChangeLog
+ M 100644 :5149423 app-backup/metadata.xml
+ ----------------------------------------------------------------------
+
+ ----------------------------------------------------------------------
+ commit refs/heads/master
+ mark :5149426
+ committer Hanno Böck <hanno@gentoo.org> 1431281167 +0000
+ data 118
+ Initial commit of Attic
+
+ (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key A5880072BBB51E42)
+
+ from :5149424
+ M 100644 :5149425 app-backup/Manifest
+ ----------------------------------------------------------------------
+
+This is fixed by an additional sed filter in the following step.
+
+
+Import into Git
+===============
+
+$ mkdir gentoo-x86-git
+$ cd gentoo-x86-git
+$ git init
+$ LC_ALL=C sed '/^Initial commit of Attic$/,/^M [0-7]\{6\} .* app-backup\/Manifest/{s:^\(M [0-7]\{6\} .* app-backup/\)\(.*\):\1Attic/\2:}' \
+../../var/cvsroot/gentoo-x86-export.txt | git fast-import
+
+
+Differences to the old conversion
+=================================
+
+- cvs-fast-export(1) says:
+ "A set of file operations is coalesced into a changeset if either
+ (a) they all share the same commitid, or (b) all have no commitid
+ but identical change comments, authors, and modification dates
+ within the window defined by the time-fuzz parameter."
+
+ For our case this means that for commits after 2006-03-04T10:23:03Z
+ (commit 531f1a00a131) the commitid has been used to group them
+ together, while earlier ones have been grouped by authors and commit
+ messages, within a 5 minutes time window (which is the default
+ for the fuzz parameter).
+
+ This results in a total of 1688447 commits in the master branch,
+ while the old conversion has only 788893 commits. Most of the
+ difference can be explained by the fact that "repoman commit"
+ actually did two CVS commits, the second one for the Manifest to
+ catch up with the updated $Header$ keywords. Since this reflects
+ the actual workflow, no attempts have been made to squash these
+ pairs of commits.
+
+- The new conversion has a complete author map, previously users
+ cbrannon, jerrya, luke-jr, and uid2214 (darkside) were missing.
+
+- Commit messages have been left alone. For example, no conversion
+ to Git footer lines has taken place. Conversion of character sets
+ wasn't attempted either. (There are 310 commit messages with
+ non-UTF-8 characters. About 80% of them appear to be latin-1,
+ but the rest is something else, or just contains some garbage
+ characters.)
+
+- Category app-backup is now there.
+
+- File sci-libs/qfits/Manifest in HEAD differs. The new conversion
+ agrees with the last CVS checkout.
+
+- The new conversion has a .gitignore file in its top-level directory.
+ Also metadata/.cvsignore was renamed to metadata/.gitignore
+ (cvs-fast-export does this automatically).
+
+- Output of "diff -qr --exclude=.git" between tips of old and new repo:
+
+ Only in gentoo-x86-git: .gitignore
+ Only in gentoo-x86-git: app-backup
+ Files historical/header.txt and gentoo-x86-git/header.txt differ
+ Only in historical/metadata: .cvsignore
+ Only in gentoo-x86-git/metadata: .gitignore
+ Files historical/sci-libs/qfits/Manifest and gentoo-x86-git/sci-libs/qfits/Manifest differ
+
+
+Notes
+=====
+
+Keyword expansion
+-----------------
+
+Although the man page of cvs-fast-export (version 1.57) says that the
+program "does the equivalent of cvs -kb when checking out masters, not
+performing any $-keyword expansion at all", it actually does expand
+$-keywords.
+
+For the tip of the trunk, expanded keywords appear to be correct,
+as can be verified with Manifest checksums. This is not always true
+earlier in history. For example, the CVS repository was located in
+/home/cvsroot and moved to /var/cvsroot later ($Header$ lines suggest
+that this move happened in early 2004). Also it is known that some
+files were moved in the raw repository. Expanded keywords from before
+such a move won't match.
+
+
+Branch points
+-------------
+
+cvs-fast-export-1.57 gets confused about branch points, if a file
+doesn't have any commits on the trunk that are newer than those on the
+branch.
+
+This triggers some warnings during conversion:
+
+ cvs-fast-export: warning - non-vendor ./app-admin/analog/files/analog.cfg,v branch RELEASE-1_4 has no parent
+ [and many more of the same type]
+
+ cvs-fast-export: warning - branch point import-1.1.1 -> master later than branch
+ cvs-fast-export: trunk(85563): 2005-11-30T09:36:17Z en.txt 1.1
+ cvs-fast-export: branch(85563): 2005-11-30T09:38:30Z app-accessibility/SphinxTrain/files/digest-SphinxTrain-0.9.1-r1 1.1
+
+It also results in commits from the branch showing up in the converted
+Git master branch. The problem has been reported upstream:
+https://gitlab.com/esr/cvs-fast-export/-/issues/57
+
+For the time being, this is worked around by adding an extra commit to
+the trunk (and removing it from the converted repository later):
+
+$ export CVSROOT=/var/cvsroot
+$ cvs checkout gentoo-x86
+$ cd gentoo-x86
+$ for file in $(find . -type d -name CVS -prune -o -type f -print); do echo >>${file}; done
+$ cvs commit -m "extra commit in trunk"
diff --git a/authormap.txt b/authormap.txt
new file mode 100644
index 0000000..b0db078
--- /dev/null
+++ b/authormap.txt
@@ -0,0 +1,889 @@
+a.sleep = Jeraimee Hughes <a.sleep@gentoo.org>
+a3li = Alex Legler <a3li@gentoo.org>
+aaby = Arne Mejholm <aaby@gentoo.org>
+aballier = Alexis Ballier <aballier@gentoo.org>
+abhishek = Abhishek Amit <abhishek@gentoo.org>
+andrd = Abhishek Amit <andrd@gentoo.org>
+absinthe = Dylan Carlson <absinthe@gentoo.org>
+achim = Achim Gottinger <achim@gentoo.org>
+achumakov = Alexey Chumakov <achumakov@gentoo.org>
+ackle = Sean Amoss <ackle@gentoo.org>
+acooks = Andrew Cooks <acooks@gentoo.org>
+aeoo = Leo Lipelis <aeoo@gentoo.org>
+aescriva = Aida Escriva-Sammer <aescriva@gentoo.org>
+aether = Jason Anthony Mobarak <aether@gentoo.org>
+aetius = Matt Drew <aetius@gentoo.org>
+agaffney = Andrew Gaffney <agaffney@gentoo.org>
+agenkin = Arcady Genkin <agenkin@gentoo.org>
+ago = Agostino Sarubbo <ago@gentoo.org>
+agorf = Aggelos Orfanakos <agorf@gentoo.org>
+agriffis = Aron Griffis <agriffis@gentoo.org>
+aidecoe = Amadeusz Piotr Żołnowski <aidecoe@gentoo.org>
+aiken = James Boddington <aiken@gentoo.org>
+ajak = John Helmert III <ajak@gentoo.org>
+alain = Alain Penders <alain@gentoo.org>
+alexander = Alexander Plank <alexander@gentoo.org>
+alexxy = Alexey Shvetsov <alexxy@gentoo.org>
+ali_bush = Alistair Bush <ali_bush@gentoo.org>
+alicef = Alice Ferrazzi <alicef@gentoo.org>
+alin = Alin Dobre <alin@gentoo.org>
+aliz = Daniel Ahlberg <aliz@gentoo.org>
+allanonjl = John N. Laliberte <allanonjl@gentoo.org>
+alonbl = Alon Bar-Lev <alonbl@gentoo.org>
+alron = Dean Bailey <alron@gentoo.org>
+alunduil = Alex Brandt <alunduil@gentoo.org>
+amadio = Guilherme Amadio <amadio@gentoo.org>
+amir = Amir Guindehi <amir@gentoo.org>
+amne = Wernfried Haas <amne@gentoo.org>
+amynka = Amy Liffey <amynka@gentoo.org>
+anant = Anant Narayanan <anant@gentoo.org>
+killerx = Anant Narayanan <killerx@gentoo.org>
+anarchy = Jory Pratt <anarchy@gentoo.org>
+andrey_utkin = Andrey Utkin <andrey_utkin@gentoo.org>
+angelos = Christoph Mende <angelos@gentoo.org>
+angusyoung = Otavio Rodolfo Piske <angusyoung@gentoo.org>
+anigel = Hubert Mercier <anigel@gentoo.org>
+anpereir = Andrés Pereira <anpereir@gentoo.org>
+antarus = Alec Warner <antarus@gentoo.org>
+anti = Ray Russell Reese III <anti@gentoo.org>
+antifa = Ken Nowack <antifa@gentoo.org>
+apokorny = Andreas Pokorny <apokorny@gentoo.org>
+diemumiee = Andreas Pokorny <diemumiee@gentoo.org>
+araujo = Luis Francisco Araujo <araujo@gentoo.org>
+archaelus = Geoff Cant <archaelus@gentoo.org>
+geoff = Geoff Cant <geoff@gentoo.org>
+arfrever = Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+arj = Anders Rune Jensen <arj@gentoo.org>
+armin76 = Raúl Porcel <armin76@gentoo.org>
+aross = Andrew Ross <aross@gentoo.org>
+arunbhanu = Arun Bhanu <arunbhanu@gentoo.org>
+codebear = Arun Bhanu <codebear@gentoo.org>
+arzano = Max Magorsch <arzano@gentoo.org>
+ashmodai = Mike Jones <ashmodai@gentoo.org>
+asn = George Kadianakis <asn@gentoo.org>
+astinus = Alex Howells <astinus@gentoo.org>
+asturm = Andreas Sturmlechner <asturm@gentoo.org>
+asym = Björn Tropf <asym@gentoo.org>
+augustus = Kristopher Kersey <augustus@gentoo.org>
+avenj = Jon Portnoy <avenj@gentoo.org>
+axs = Ian Stakenvicius <axs@gentoo.org>
+axxo = Thomas Matthijs <axxo@gentoo.org>
+ayoy = Dominik Kapusta <ayoy@gentoo.org>
+azarah = Martin Schlemmer <azarah@gentoo.org>
+b33fc0d3 = Ahmed Ammar <b33fc0d3@gentoo.org>
+bangert = Thilo Bangert <bangert@gentoo.org>
+bartelt = Ulf Bartelt <bartelt@gentoo.org>
+basic = Rudy Grigar <basic@gentoo.org>
+bass = Jose Alberto Suarez Lopez <bass@gentoo.org>
+batlogg = Jodok Batlogg <batlogg@gentoo.org>
+battousai = Bryan Stine <battousai@gentoo.org>
+baz = Barry Shaw <baz@gentoo.org>
+bazik = Sven Blumenstein <bazik@gentoo.org>
+bbj = Benigno Batista Júnior <bbj@gentoo.org>
+bcowan = Brad Teaford Cowan <bcowan@gentoo.org>
+beandog = Steve Dibb <beandog@gentoo.org>
+beejay = Benjamin Judas <beejay@gentoo.org>
+bennyc = Benny Chuang <bennyc@gentoo.org>
+bernalex = Alexander Berntsen <bernalex@gentoo.org>
+betelgeuse = Petteri Räty <betelgeuse@gentoo.org>
+beu = Elfyn McBratney <beu@gentoo.org>
+bicatali = Sebastien Fabbro <bicatali@gentoo.org>
+uid2162 = Sebastien Fabbro <bicatali@gentoo.org>
+billie = Daniel Pielmeier <billie@gentoo.org>
+binki = Nathan Phillip Brink <binki@gentoo.org>
+bip = Bip Thelin <bip@gentoo.org>
+bircoph = Andrew Savchenko <bircoph@gentoo.org>
+bjb = Bjoern Brauel <bjb@gentoo.org>
+bkohler = Ben Kohler <bkohler@gentoo.org>
+blackace = Matthew Kasa <blackace@gentoo.org>
+blackmore = Julien Perrot <blackmore@gentoo.org>
+blademan = Joe Kallar <blademan@gentoo.org>
+blauwers = Bart Lauwers <blauwers@gentoo.org>
+blizzy = Maik Schreiber <blizzy@gentoo.org>
+blkdeath = Stewart Honsberger <blkdeath@gentoo.org>
+blocke = Bruce A. Locke <blocke@gentoo.org>
+blubb = Simon Stelling <blubb@gentoo.org>
+blubber = Tiemo Kieft <blubber@gentoo.org>
+bluebird = Friedrich Oslage <bluebird@gentoo.org>
+blueboar = Vladimir Romanov <blueboar@gentoo.org>
+blueknight = Yury German <blueknight@gentoo.org>
+blueness = Anthony G. Basile <blueness@gentoo.org>
+blutgens = Ben Lutgens <blutgens@gentoo.org>
+lamer = Ben Lutgens <lamer@gentoo.org>
+bman = Aaron Bauman <bman@gentoo.org>
+brad = Brad Laue <brad@gentoo.org>
+brad_mssw = Brad House <brad_mssw@gentoo.org>
+brain = Michele Balistreri <brain@gentoo.org>
+brandy = Brandy Westcott <brandy@gentoo.org>
+brix = Henrik Brix Andersen <brix@gentoo.org>
+broeman = Jesper Brodersen <broeman@gentoo.org>
+bunder = Chris Henhawke <bunder@gentoo.org>
+c1pher = Dane Smith <c1pher@gentoo.org>
+cab = Antoine Raillon <cab@gentoo.org>
+calchan = Denis Dupeyron <calchan@gentoo.org>
+caleb = Caleb Tennis <caleb@gentoo.org>
+cam = Camille Huot <cam@gentoo.org>
+candrews = Craig Andrews <candrews@gentoo.org>
+cardoe = Doug Goldstein <cardoe@gentoo.org>
+carl = Carl Anderson <carl@gentoo.org>
+carlo = Carsten Lohrke <carlo@gentoo.org>
+carlos = Yuji Carlos Kosugi <carlos@gentoo.org>
+carpaski = Nicholas Jones <carpaski@gentoo.org>
+caster = Vlastimil Babka <caster@gentoo.org>
+ccpz = YiDa Chiang <ccpz@gentoo.org>
+cedk = Cédric Krier <cedk@gentoo.org>
+centic = Dominik Stadler <centic@gentoo.org>
+chadh = Chad Huneycutt <chadh@gentoo.org>
+chainsaw = Tony Vroon <chainsaw@gentoo.org>
+chewi = James Le Cuirot <chewi@gentoo.org>
+chiguire = John Christian Stoddart <chiguire@gentoo.org>
+chiiph = Tomás Touceda <chiiph@gentoo.org>
+chiitoo = Jimi Huotari <chiitoo@gentoo.org>
+chithanh = Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+chotchki = Christopher Hotchkiss <chotchki@gentoo.org>
+chouser = Chris Houser <chouser@gentoo.org>
+chrb = Chris Bainbridge <chrb@gentoo.org>
+chrisadr = Christopher Diaz Riveros <chrisadr@gentoo.org>
+christel = Christel Dahlskjær <christel@gentoo.org>
+christoph = Christoph Lameter <christoph@gentoo.org>
+chriswhite = Chris White <chriswhite@gentoo.org>
+chtekk = Luca Longinotti <chtekk@gentoo.org>
+chutzpah = Patrick McLean <chutzpah@gentoo.org>
+ciaranm = Ciaran McCreesh <ciaranm@gentoo.org>
+citizen428 = Michael Kohl <citizen428@gentoo.org>
+civil = Vladimir Smirnov <civil@gentoo.org>
+cjr = Chris Russell <cjr@gentoo.org>
+cla = Dawid Węgliński <cla@gentoo.org>
+codeman = Preston Cody <codeman@gentoo.org>
+codergeek42 = Peter Gordon <codergeek42@gentoo.org>
+coldwind = Santiago M. Mola <coldwind@gentoo.org>
+compnerd = Saleem Abdulrasool <compnerd@gentoo.org>
+condordes = Joshua J. Berry <condordes@gentoo.org>
+config = Benjamin Schindler <config@gentoo.org>
+conikost = Conrad Kostecki <conikost@gentoo.org>
+constanze = Constanze Hausner <constanze@gentoo.org>
+coredumb = Tal Peer <coredumb@gentoo.org>
+coronalvr = Alex Veber <coronalvr@gentoo.org>
+corsair = Markus Rothe <corsair@gentoo.org>
+cparrott = Chris Parrott <cparrott@gentoo.org>
+craig = Stefan Behte <craig@gentoo.org>
+creffett = Chris Reffett <creffett@gentoo.org>
+cretin = Stefan Jones <cretin@gentoo.org>
+crux = Prakash Shetty <crux@gentoo.org>
+cryos = Marcus D. Hanwell <cryos@gentoo.org>
+cselkirk = Calum Selkirk <cselkirk@gentoo.org>
+cshields = Corey Shields <cshields@gentoo.org>
+csjoly = Craig Joly <csjoly@gentoo.org>
+ct = Christopher Taylor <ct@gentoo.org>
+curtis119 = Curtis Napier <curtis119@gentoo.org>
+cybersystem = Sascha Schwabbauer <cybersystem@gentoo.org>
+cyfred = Andrew Bevitt <cyfred@gentoo.org>
+cynede = Mikhail Pukhlikov <cynede@gentoo.org>
+d2_racing = Sylvain Alain <d2_racing@gentoo.org>
+dabbott = David Abbott <dabbott@gentoo.org>
+dagger = Robert Piasek <dagger@gentoo.org>
+dams = Damien Krotkine <dams@gentoo.org>
+danarmak = Dan Armak <danarmak@gentoo.org>
+dang = Daniel Gryniewicz <dang@gentoo.org>
+darks = Holger Brueckner <darks@gentoo.org>
+darkside = Jeremy Olexa <darkside@gentoo.org>
+uid2214 = Jeremy Olexa <darkside@gentoo.org>
+darkspecter = Bartosch Pixa <darkspecter@gentoo.org>
+dastergon = Pavlos Ratis <dastergon@gentoo.org>
+datashark = António Meireles <datashark@gentoo.org>
+dav_it = Davide Italiano <dav_it@gentoo.org>
+daybird = David Chamberlain <daybird@gentoo.org>
+dberkholz = Donnie Berkholz <dberkholz@gentoo.org>
+spyderous = Donnie Berkholz <spyderous@gentoo.org>
+dcoutts = Duncan Coutts <dcoutts@gentoo.org>
+deathwing00 = Ioannis Aslanidis <deathwing00@gentoo.org>
+deltacow = Scott Stoddard <deltacow@gentoo.org>
+dercorny = Stefan Cornelius <dercorny@gentoo.org>
+dertobi123 = Tobias Scherbaum <dertobi123@gentoo.org>
+desultory = Dean Stephens <desultory@gentoo.org>
+dev-zero = Tiziano Müller <dev-zero@gentoo.org>
+dholm = David Holm <dholm@gentoo.org>
+dilfridge = Andreas K. Hüttel <dilfridge@gentoo.org>
+diox = Dimitry Bradt <diox@gentoo.org>
+dj-submerge = Marc Herren <dj-submerge@gentoo.org>
+djay = Gérald Fenoy <djay@gentoo.org>
+djc = Dirkjan Ochtman <djc@gentoo.org>
+dju = Julien Allanos <dju@gentoo.org>
+dlan = Yixun Lan <dlan@gentoo.org>
+dmwaters = Deedra M. Waters <dmwaters@gentoo.org>
+doctomoe = Olivier Reisch <doctomoe@gentoo.org>
+dolsen = Brian Dolbec <dolsen@gentoo.org>
+dorileo = Leandro Dorileo <dorileo@gentoo.org>
+dostrow = Daniel Ostrow <dostrow@gentoo.org>
+dracwyrm = Jonathan Scruggs <dracwyrm@gentoo.org>
+dragon = Nicholas Wourms <dragon@gentoo.org>
+dragonheart = Daniel Black <dragonheart@gentoo.org>
+drizzt = Timothy Redaelli <drizzt@gentoo.org>
+drobbins = Daniel Robbins <drobbins@gentoo.org>
+dsd = Daniel Drake <dsd@gentoo.org>
+earthwings = Dennis Nienhüser <earthwings@gentoo.org>
+edolnx = Carl Perry <edolnx@gentoo.org>
+ehmsen = Martin Ehmsen <ehmsen@gentoo.org>
+eklipse = Matt Jarjoura <eklipse@gentoo.org>
+eldad = Eldad Zack <eldad@gentoo.org>
+elvanor = Jean-Noël Rivasseau <elvanor@gentoo.org>
+enderson = Enderson Tadeu S. Maia <enderson@gentoo.org>
+eradicator = Jeremy Huddleston <eradicator@gentoo.org>
+eras = Eray Aslan <eras@gentoo.org>
+ercpe = Johann Schmitz <ercpe@gentoo.org>
+erik_swanson = Erik Swanson <erik_swanson@gentoo.org>
+eroyf = Alexander Færøy <eroyf@gentoo.org>
+erwin = Erwin Luo <erwin@gentoo.org>
+esammer = Eric Sammer <esammer@gentoo.org>
+eva = Gilles Dartiguelongue <eva@gentoo.org>
+exg = Emanuele Giaquinta <exg@gentoo.org>
+expeditioneer = Dennis Lamm <expeditioneer@gentoo.org>
+fafhrd = Armando Di Cianno <fafhrd@gentoo.org>
+falco = Raphaël Marichez <falco@gentoo.org>
+fauli = Christian Faulhammer <fauli@gentoo.org>
+opfer = Christian Faulhammer <opfer@gentoo.org>
+fava = Fred Van Andel <fava@gentoo.org>
+fearedbliss = Jonathan Vasquez <fearedbliss@gentoo.org>
+fede2 = Alvari Figueroa <fede2@gentoo.org>
+ferdy = Fernando J. Pereda <ferdy@gentoo.org>
+ferringb = Brian Harring <ferringb@gentoo.org>
+flameeyes = Diego Elio Pettenò <flameeyes@gentoo.org>
+flammie = Flammie Pirinen <flammie@gentoo.org>
+floppym = Mike Gilbert <floppym@gentoo.org>
+fmccor = Ferris McCormick <fmccor@gentoo.org>
+ford_prefect = Arun Raghavan <ford_prefect@gentoo.org>
+fordfrog = Miroslav Šulc <fordfrog@gentoo.org>
+formula7 = Jean-Francois Brunette <formula7@gentoo.org>
+foser = Marinus Schraal <foser@gentoo.org>
+fox = Federico Scrinzi <fox@gentoo.org>
+fox2mike = Shyam Mani <fox2mike@gentoo.org>
+frame = Andres Toomsalu <frame@gentoo.org>
+frilled = Wolf Giesen <frilled@gentoo.org>
+frogger = Matt Rickard <frogger@gentoo.org>
+fserb = Fernando Serboncini <fserb@gentoo.org>
+fuzzyray = Paul Varner <fuzzyray@gentoo.org>
+fvdpol = Frank van de Pol <fvdpol@gentoo.org>
+g2boojum = Grant Goodyear <g2boojum@gentoo.org>
+grant = Grant Goodyear <grant@gentoo.org>
+gaarde = Paul Belt <gaarde@gentoo.org>
+ganymede = David Gumbel <ganymede@gentoo.org>
+gbevin = Geert Bevin <gbevin@gentoo.org>
+gengor = Gordon Malm <gengor@gentoo.org>
+genone = Marius Mauch <genone@gentoo.org>
+genstef = Stefan Schweizer <genstef@gentoo.org>
+uid895 = Stefan Schweizer <genstef@gentoo.org>
+geoman = Stephen Becker <geoman@gentoo.org>
+george = George Shapovalov <george@gentoo.org>
+gerk = Mark Guertin <gerk@gentoo.org>
+gerrynjr = Gerald J. Normandin Jr. <gerrynjr@gentoo.org>
+gienah = Mark Wright <gienah@gentoo.org>
+gimli = Edgar Hucek <gimli@gentoo.org>
+gmsoft = Guy Martin <gmsoft@gentoo.org>
+gokturk = Göktürk Yüksek <gokturk@gentoo.org>
+gongloo = Hasan Khalil <gongloo@gentoo.org>
+gothgirl = Kathryn Kulick <gothgirl@gentoo.org>
+graaff = Hans de Graaff <graaff@gentoo.org>
+grahl = Jan Hendrik Grahl <grahl@gentoo.org>
+greendisease = Jack Aboutboul <greendisease@gentoo.org>
+greg_g = Gregorio Guidi <greg_g@gentoo.org>
+gregf = Greg Fitzgerald <gregf@gentoo.org>
+gregkh = Greg Kroah-Hartman <gregkh@gentoo.org>
+griffon26 = Maurice van der Pot <griffon26@gentoo.org>
+grknight = Brian Evans <grknight@gentoo.org>
+grobian = Fabian Groffen <grobian@gentoo.org>
+grozin = Andrey Grozin <grozin@gentoo.org>
+guidob = Guido Bakker <guidob@gentoo.org>
+gurligebis = Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+gustavoz = Gustavo Zacarias <gustavoz@gentoo.org>
+gyakovlev = Georgy Yakovlev <gyakovlev@gentoo.org>
+hadfield = Scott Hadfield <hadfield@gentoo.org>
+halcy0n = Mark Loeser <halcy0n@gentoo.org>
+hallski = Mikael Hallendal <hallski@gentoo.org>
+hannes = Hannes Mehnert <hannes@gentoo.org>
+hanno = Hanno Böck <hanno@gentoo.org>
+hansmi = Michael Hanselmann <hansmi@gentoo.org>
+hardave = Hardave Rior <hardave@gentoo.org>
+hasufell = Julian Ospald <hasufell@gentoo.org>
+hattya = Akinori Hattori <hattya@gentoo.org>
+haubi = Michael Haubenwallner <haubi@gentoo.org>
+hawking = Ali Polatel <hawking@gentoo.org>
+alip = Ali Polatel <alip@gentoo.org>
+hd_brummy = Jörg Bornkessel <hd_brummy@gentoo.org>
+heim = Todd Heim <heim@gentoo.org>
+herbs = Herbie Hopkins <herbs@gentoo.org>
+heroxbd = Benda XU <heroxbd@gentoo.org>
+hhg = Hallgrimur H. Gunnarsson <hhg@gentoo.org>
+hillster = Joel Hill <hillster@gentoo.org>
+hkbst = Marijn Schouten <hkbst@gentoo.org>
+hlieberman = Harlan Lieberman-Berg <hlieberman@gentoo.org>
+hncaldwell = Heath Caldwell <hncaldwell@gentoo.org>
+hoffie = Christian Hoffmann <hoffie@gentoo.org>
+hollow = Benedikt Boehm <hollow@gentoo.org>
+horton = Bob Ketterhagen <horton@gentoo.org>
+hparker = Homer Parker <hparker@gentoo.org>
+hsinhsin = Peter Bilitch <hsinhsin@gentoo.org>
+humpback = Gustavo Felisberto <humpback@gentoo.org>
+hwoarang = Markos Chandras <hwoarang@gentoo.org>
+hyakuhei = Robert Clark <hyakuhei@gentoo.org>
+hythloday = James Harlow <hythloday@gentoo.org>
+i92guboj = Jesús Guerrero <i92guboj@gentoo.org>
+ian = Christian Hartmann <ian@gentoo.org>
+idani = Shigehiro Idani <idani@gentoo.org>
+idella4 = Ian Delaney <idella4@gentoo.org>
+idl0r = Christian Ruppert <idl0r@gentoo.org>
+iggy = Brian Jackson <iggy@gentoo.org>
+ikelos = Mike Auty <ikelos@gentoo.org>
+iksaif = Corentin Chary <iksaif@gentoo.org>
+iluxa = Ilya Volynets <iluxa@gentoo.org>
+ingmar = Ingmar Vanhassel <ingmar@gentoo.org>
+isaiah = Isaiah Peng <isaiah@gentoo.org>
+j4rg0n = Lina Pezzella <j4rg0n@gentoo.org>
+jaaf = José Fournier <jaaf@gentoo.org>
+jacques = Dwayne Jacques Fontenot <jacques@gentoo.org>
+jaervosz = Sune Kloppenborg Jeppesen <jaervosz@gentoo.org>
+jake = Blake Matheny <jake@gentoo.org>
+jakub = Jakub Moc <jakub@gentoo.org>
+jauhien = Jauhien Piatlicki <jauhien@gentoo.org>
+jayskwak = Jae Yang Kwak <jayskwak@gentoo.org>
+jbartosik = Joachim Bartosik <jbartosik@gentoo.org>
+jbms = Jeremy Maitin-Shepard <jbms@gentoo.org>
+jcallen = Jonathan Callen <jcallen@gentoo.org>
+abcd = Jonathan Callen <abcd@gentoo.org>
+jdhore = Jeff Horelick <jdhore@gentoo.org>
+je_fro = Jeffrey Gardner <je_fro@gentoo.org>
+jeffw = Jeff Walter <jeffw@gentoo.org>
+jer = Jeroen Roovers <jer@gentoo.org>
+uid2078 = Jeroen Roovers <jer@gentoo.org>
+jerry = Jerry Alexandratos <jerry@gentoo.org>
+jerrya = Jerry Alexandratos <jerrya@gentoo.org>
+jfmuggs = Andrew D. Fant <jfmuggs@gentoo.org>
+jforman = Jeffrey Forman <jforman@gentoo.org>
+jhhudso = Jared H.Hudson <jhhudso@gentoo.org>
+jhuebel = Jason Huebel <jhuebel@gentoo.org>
+jje = John J. Ellis <jje@gentoo.org>
+jkt = Jan Kundrát <jkt@gentoo.org>
+jlec = Justin Lecher <jlec@gentoo.org>
+jmaynard = Jay Maynard <jmaynard@gentoo.org>
+jmbsvicetto = Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
+jmglov = Josh Glover <jmglov@gentoo.org>
+jmorgan = Jack Morgan <jmorgan@gentoo.org>
+jnc = Eric Shattow <jnc@gentoo.org>
+jnelson = Jon Nelson <jnelson@gentoo.org>
+joem = Joe McCann <joem@gentoo.org>
+john_r_graham = John R. Graham <john_r_graham@gentoo.org>
+johnm = John Mylchreest <johnm@gentoo.org>
+johu = Johannes Huber <johu@gentoo.org>
+joker = Christian Birchinger <joker@gentoo.org>
+jokey = Markus Ullmann <jokey@gentoo.org>
+josejx = Joseph Jezak <josejx@gentoo.org>
+joshuabaergen = Joshua Baergen <joshuabaergen@gentoo.org>
+joslwah = Joshua Ross <joslwah@gentoo.org>
+jrinkovs = Joe Rinkovsky <jrinkovs@gentoo.org>
+jrray = J Robert Ray <jrray@gentoo.org>
+jsbronder = Justin Bronder <jsbronder@gentoo.org>
+jsin = Jason Smathers <jsin@gentoo.org>
+jstein = Jonas Stein <jstein@gentoo.org>
+jstubbs = Jason Stubbs <jstubbs@gentoo.org>
+jtegart = Josh Tegart <jtegart@gentoo.org>
+juippis = Joonas Niilola <juippis@gentoo.org>
+junghans = Christoph Junghans <junghans@gentoo.org>
+ottxor = Christoph Junghans <ottxor@gentoo.org>
+jurek = Jurek Bartuszek <jurek@gentoo.org>
+k_f = Kristian Fiskerstrand <k_f@gentoo.org>
+ka0ttic = Aaron Walker <ka0ttic@gentoo.org>
+kabau = Damon Conway <kabau@gentoo.org>
+kain = Bryon Roche <kain@gentoo.org>
+kaiowas = Petre Rodan <kaiowas@gentoo.org>
+kallamej = Anders Hellgren <kallamej@gentoo.org>
+kanaka = Joel Martin <kanaka@gentoo.org>
+kang = Guillaume Destuynder <kang@gentoo.org>
+karltk = Karl Trygve Kalleberg <karltk@gentoo.org>
+katuyuki = Katsuyuki Konno <katuyuki@gentoo.org>
+ken69267 = Kenneth Prugh <ken69267@gentoo.org>
+kengland = Kyle England <kengland@gentoo.org>
+kensington = Michael Palimaka <kensington@gentoo.org>
+kentnl = Kent Fredric <kentnl@gentoo.org>
+keri = Keri Harris <keri@gentoo.org>
+kernelsensei = Boris Fersing <kernelsensei@gentoo.org>
+kevquinn = Kevin F. Quinn <kevquinn@gentoo.org>
+keytoaster = Tobias Heinlein <keytoaster@gentoo.org>
+khai = Yi Quang <khai@gentoo.org>
+kholk = AngeloGioacchino Del Regno <kholk@gentoo.org>
+killerfox = René Nussbaumer <killerfox@gentoo.org>
+killian = Chuck Brewer <killian@gentoo.org>
+killsoft = Rob Romans <killsoft@gentoo.org>
+kilroy = Ric Messier <kilroy@gentoo.org>
+kingtaco = Mike Doty <kingtaco@gentoo.org>
+kito = Kito Danya Dietrich <kito@gentoo.org>
+klasikahl = Zack Gilburd <klasikahl@gentoo.org>
+klausman = Tobias Klausmann <klausman@gentoo.org>
+klieber = Kurt Lieber <klieber@gentoo.org>
+kloeri = Bryan Østergaard <kloeri@gentoo.org>
+klondike = Francisco Blas Izquierdo Riera <klondike@gentoo.org>
+kolmodin = Lennart Kolmodin <kolmodin@gentoo.org>
+koon = Thierry Carrez <koon@gentoo.org>
+kosmikus = Andres Loeh <kosmikus@gentoo.org>
+krispykringle = Dan Margolis <krispykringle@gentoo.org>
+kugelfang = Danny van Dyk <kugelfang@gentoo.org>
+kumba = Joshua Kinard <kumba@gentoo.org>
+kutsuya = Jason Shoemaker <kutsuya@gentoo.org>
+kzimmerm = Kai Zimmermann <kzimmerm@gentoo.org>
+labmonkey = Chris Lee <labmonkey@gentoo.org>
+lack = Jim Ramsay <lack@gentoo.org>
+langthang = Tuan Van <langthang@gentoo.org>
+lanius = Heinrich Wendel <lanius@gentoo.org>
+latexer = Peter Johanson <latexer@gentoo.org>
+lavajoe = Joe Peterson <lavajoe@gentoo.org>
+lcars = Andrea Barisani <lcars@gentoo.org>
+leahcim = Michael Fitzpatrick <leahcim@gentoo.org>
+leio = Mart Raudsepp <leio@gentoo.org>
+lejonet = Daniel Kuehn <lejonet@gentoo.org>
+leonardop = Leonardo Boshell <leonardop@gentoo.org>
+lewk = Luke Macken <lewk@gentoo.org>
+lh = Leslie Hawthorn <lh@gentoo.org>
+liquidx = Alastair Tse <liquidx@gentoo.org>
+lisa = Lisa M. Seelye <lisa@gentoo.org>
+little_bob = Christian Jeannot <little_bob@gentoo.org>
+livewire = Bob Johnson <livewire@gentoo.org>
+lizb = Liz Blackwell <lizb@gentoo.org>
+loki_val = Peter Alfredsen <loki_val@gentoo.org>
+lordjoe = Joe Bormolini <lordjoe@gentoo.org>
+lordvan = Thomas Raschbacher <lordvan@gentoo.org>
+lostlogic = Brandon Low <lostlogic@gentoo.org>
+lu_zero = Luca Barbato <lu_zero@gentoo.org>
+lucass = Lukasz Strzygowski <lucass@gentoo.org>
+luckyduck = Jan Brinkmann <luckyduck@gentoo.org>
+lude = David Olsen <lude@gentoo.org>
+luke-jr = Luke Dashjr <luke-jr@gentoo.org>
+lv = Travis Tilley <lv@gentoo.org>
+lxnay = Fabio Erculiani <lxnay@gentoo.org>
+m0rpheus = Ferry Meyndert <m0rpheus@gentoo.org>
+mabi = Matti Bickel <mabi@gentoo.org>
+maedhros = Jonathan Coome <maedhros@gentoo.org>
+maekke = Markus Meier <maekke@gentoo.org>
+maffblaster = Matthew Marchese <maffblaster@gentoo.org>
+maksbotan = Maxim Koltsov <maksbotan@gentoo.org>
+malc = Malcolm Lashley <malc@gentoo.org>
+malverian = Philip Walls <malverian@gentoo.org>
+manson = Rodney Rees <manson@gentoo.org>
+marduk = Albert Hopkins <marduk@gentoo.org>
+marecki = Marek Szuba <marecki@gentoo.org>
+marienz = Marien Zwart <marienz@gentoo.org>
+marineam = Michael Marineau <marineam@gentoo.org>
+mark_alec = Mark Kowarsky <mark_alec@gentoo.org>
+markm = Mark Mahle <markm@gentoo.org>
+markusle = Markus Dittrich <markusle@gentoo.org>
+martigen = Ashton Mills <martigen@gentoo.org>
+mascherpa = Marco Mascherpa <mascherpa@gentoo.org>
+m.mascherpa = Marco Mascherpa <m.mascherpa@gentoo.org>
+mush = Marco Mascherpa <mush@gentoo.org>
+masterdriverz = Charlie Shepherd <masterdriverz@gentoo.org>
+matsl = Mats Lidell <matsl@gentoo.org>
+matsuu = Matsuu Takuto <matsuu@gentoo.org>
+mattam = Matthieu Sozeau <mattam@gentoo.org>
+mattepiu = Matteo Azzali <mattepiu@gentoo.org>
+mattjf = Matthew J. Fanto <mattjf@gentoo.org>
+mattm = Matthew Marlowe <mattm@gentoo.org>
+mattst88 = Matt Turner <mattst88@gentoo.org>
+max = Max Kalika <max@gentoo.org>
+mboman = Michael Boman <mboman@gentoo.org>
+mbres = Maarten Bressers <mbres@gentoo.org>
+mcummings = Michael Cummings <mcummings@gentoo.org>
+mdisney = Matt Disney <mdisney@gentoo.org>
+mduft = Markus Duft <mduft@gentoo.org>
+meekrob = Sherman Boyd <meekrob@gentoo.org>
+merlin = Cory Visi <merlin@gentoo.org>
+mescalinum = Federico Ferri <mescalinum@gentoo.org>
+messer = Jaroslaw Swierad <messer@gentoo.org>
+metalgod = Luis Medinas <metalgod@gentoo.org>
+method = Joshua Brindle <method@gentoo.org>
+mglauche = Michael Glauche <mglauche@gentoo.org>
+mgorny = Michał Górny <mgorny@gentoo.org>
+mholzer = Martin Holzer <mholzer@gentoo.org>
+micm = Michael Münch <micm@gentoo.org>
+miknix = Angelo Arrifano <miknix@gentoo.org>
+ming = Ming Zhao <ming@gentoo.org>
+miska = Michal Hrušecký <miska@gentoo.org>
+mjc = Michael J. Cohen <mjc@gentoo.org>
+mjf = Matt Fleming <mjf@gentoo.org>
+mjo = Michael Orlitzky <mjo@gentoo.org>
+mjolnir = Martin Jackson <mjolnir@gentoo.org>
+mkay = Marcin Kryczek <mkay@gentoo.org>
+mkeadle = Matt Keadle <mkeadle@gentoo.org>
+mkennedy = Matthew Kennedy <mkennedy@gentoo.org>
+mksoft = Meir Kriheili <mksoft@gentoo.org>
+moloh = Michal Kurgan <moloh@gentoo.org>
+monsieurp = Patrice Clement <monsieurp@gentoo.org>
+morfic = Daniel Goller <morfic@gentoo.org>
+motaboy = Simone Gotti <motaboy@gentoo.org>
+moult = Dion Moult <moult@gentoo.org>
+mpagano = Mike Pagano <mpagano@gentoo.org>
+mr_bones_ = Michael Sterrett <mr_bones_@gentoo.org>
+msterret = Michael Sterrett <msterret@gentoo.org>
+mrness = Alin Năstac <mrness@gentoo.org>
+mrpouet = Romain Perier <mrpouet@gentoo.org>
+mrueg = Manuel Rüger <mrueg@gentoo.org>
+mschiff = Marc Schiffbauer <mschiff@gentoo.org>
+muchar = Robert Muchacki <muchar@gentoo.org>
+mudler = Ettore Di Giacinto <mudler@gentoo.org>
+mueli = Michael Hammer <mueli@gentoo.org>
+murphy = Maarten Thibaut <murphy@gentoo.org>
+murray_b = Thomas Schutz <murray_b@gentoo.org>
+musikc = Christina Gianelloni <musikc@gentoo.org>
+mutex = David Bryson <mutex@gentoo.org>
+mva = Vadim Misbakh-Soloviov <mva@gentoo.org>
+nakano = Masatomo Nakano <nakano@gentoo.org>
+nall = Jon Nall <nall@gentoo.org>
+naota = Naohiro Aota <naota@gentoo.org>
+natey = Nate Underwood <natey@gentoo.org>
+nathanzachary = Nathan Zachary <nathanzachary@gentoo.org>
+kalos = Nathan Zachary <kalos@gentoo.org>
+nativemad = Andreas Schuerch <nativemad@gentoo.org>
+nattfodd = Alexandre Buisse <nattfodd@gentoo.org>
+naz = Michael Nazaroff <naz@gentoo.org>
+ndimiduk = Nick Dimiduk <ndimiduk@gentoo.org>
+neddyseagoon = Roy Bamford <neddyseagoon@gentoo.org>
+nelchael = Krzysztof Pawlik <nelchael@gentoo.org>
+nerdboy = Steve Arnold <nerdboy@gentoo.org>
+neurogeek = Jesus Rivero <neurogeek@gentoo.org>
+neysx = Xavier Neys <neysx@gentoo.org>
+nichoj = Joshua Nichols <nichoj@gentoo.org>
+nicolasbock = Nicolas Bock <nicolasbock@gentoo.org>
+nightmorph = Joshua Saddler <nightmorph@gentoo.org>
+nigoro = Yuta Satoh <nigoro@gentoo.org>
+nimiux = José María Alonso <nimiux@gentoo.org>
+nirbheek = Nirbheek Chauhan <nirbheek@gentoo.org>
+nitro = Kyle Manna <nitro@gentoo.org>
+nixnut = Gysbert Wassenaar <nixnut@gentoo.org>
+nixphoeni = Joe Sapp <nixphoeni@gentoo.org>
+np-hardass = Adam Feldman <np-hardass@gentoo.org>
+npmccallum = Nathaniel McCallum <npmccallum@gentoo.org>
+nullishzero = Pavel Kazakov <nullishzero@gentoo.org>
+obz = Mike Gardiner <obz@gentoo.org>
+olemarkus = Ole Markus With <olemarkus@gentoo.org>
+omkhar = Omkhar Arasaratnam <omkhar@gentoo.org>
+omp = David Shakaryan <omp@gentoo.org>
+owen = Owen Stampflee <owen@gentoo.org>
+p8952 = Peter Wilmott <p8952@gentoo.org>
+pacho = Pacho Ramos <pacho@gentoo.org>
+pappy = Alexander Gabert <pappy@gentoo.org>
+patrick = Patrick Lauer <patrick@gentoo.org>
+bonsaikitten = Patrick Lauer <bonsaikitten@gentoo.org>
+pauldv = Paul de Vrieze <pauldv@gentoo.org>
+pbienst = Peter Bienstman <pbienst@gentoo.org>
+pchrist = Panagiotis Christopoulos <pchrist@gentoo.org>
+pclouds = Nguyen Thai Ngoc Duy <pclouds@gentoo.org>
+pebenito = Chris PeBenito <pebenito@gentoo.org>
+peesh = Jorge Paulo <peesh@gentoo.org>
+peitolm = Colin Morey <peitolm@gentoo.org>
+peper = Piotr Jaroszyński <peper@gentoo.org>
+perfinion = Jason Zaman <perfinion@gentoo.org>
+pesa = Davide Pesavento <pesa@gentoo.org>
+pete = Peter Gavin <pete@gentoo.org>
+pfeifer = Jay Pfeifer <pfeifer@gentoo.org>
+phajdan.jr = Paweł Hajdan <phajdan.jr@gentoo.org>
+philantrop = Wulf Krueger <philantrop@gentoo.org>
+phoenix = Tilman Klar <phoenix@gentoo.org>
+phosphan = Patrick Kursawe <phosphan@gentoo.org>
+phreak = Christian Heim <phreak@gentoo.org>
+piglet = Tim Haynes <piglet@gentoo.org>
+pihta = Egor Tashilin <pihta@gentoo.org>
+pilla = Mauricio Lima Pilla <pilla@gentoo.org>
+pingu = Christian Marie <pingu@gentoo.org>
+pinkbyte = Sergey Popov <pinkbyte@gentoo.org>
+pioto = Mike Kelly <pioto@gentoo.org>
+pipping = Elias Pipping <pipping@gentoo.org>
+pjp = Peter Penkala <pjp@gentoo.org>
+pkdawson = Patrick Dawson <pkdawson@gentoo.org>
+plasmaroo = Tim Yamin <plasmaroo@gentoo.org>
+plate = Ulrich Plate <plate@gentoo.org>
+pleira = Pablo Pita Leira <pleira@gentoo.org>
+pm = Parag Mehta <pm@gentoo.org>
+pnamias = Philippe Namias <pnamias@gentoo.org>
+polvi = Alexander Polvi <polvi@gentoo.org>
+polynomial-c = Lars Wendler <polynomial-c@gentoo.org>
+popsickle = Felix De Vliegher <popsickle@gentoo.org>
+port001 = Ian Leitch <port001@gentoo.org>
+prez = Preston A. Elder <prez@gentoo.org>
+prometheanfire = Matthew Thode <prometheanfire@gentoo.org>
+psi29a = Bret Curtis <psi29a@gentoo.org>
+psomas = Stratos Psomadakis <psomas@gentoo.org>
+puggy = Douglas Russel <puggy@gentoo.org>
+pva = Peter Volkov <pva@gentoo.org>
+pvdabeel = Pieter van den Abeele <pvdabeel@gentoo.org>
+py = Pierre-Yves Rofes <py@gentoo.org>
+pylon = Lars Weiler <pylon@gentoo.org>
+pyrania = Markus Nigbur <pyrania@gentoo.org>
+pythonhead = Rob Cakebread <pythonhead@gentoo.org>
+qiaomuf = Mu Qiao <qiaomuf@gentoo.org>
+qnikst = Alexander Vershilov <qnikst@gentoo.org>
+quantumsummers = Matthew Summers <quantumsummers@gentoo.org>
+r0bertz = Le Zhang <r0bertz@gentoo.org>
+r2d2 = Robert Paskowitz <r2d2@gentoo.org>
+r3pek = Carlos Silva <r3pek@gentoo.org>
+rac = Robert Coie <rac@gentoo.org>
+radek = Radoslaw Stachowiak <radek@gentoo.org>
+radhermit = Tim Harder <radhermit@gentoo.org>
+rafaelmartins = Rafael Martins <rafaelmartins@gentoo.org>
+rajiv = Rajiv Aaron Manglani <rajiv@gentoo.org>
+raker = Nick Hadaway <raker@gentoo.org>
+ramereth = Lance Albertson <ramereth@gentoo.org>
+randy = Michael McCabe <randy@gentoo.org>
+mccabemt = Michael McCabe <mccabemt@gentoo.org>
+rane = Łukasz Damentko <rane@gentoo.org>
+ranger = Brent Baude <ranger@gentoo.org>
+rbrown = Richard Brown <rbrown@gentoo.org>
+rbu = Robert Buchholz <rbu@gentoo.org>
+rcm = Rafael Cordones Marco <rcm@gentoo.org>
+reavertm = Maciej Mrozowski <reavertm@gentoo.org>
+reb = Karol Pasternak <reb@gentoo.org>
+redhatter = Stuart Longland <redhatter@gentoo.org>
+redlizard = Ruud Koolen <redlizard@gentoo.org>
+remi = Rémi Cardona <remi@gentoo.org>
+uid2153 = Rémi Cardona <remi@gentoo.org>
+rendhalver = Peter Brown <rendhalver@gentoo.org>
+rhill = Ryan Hill <rhill@gentoo.org>
+dirtyepic = Ryan Hill <dirtyepic@gentoo.org>
+ribosome = Olivier Fisette <ribosome@gentoo.org>
+rich0 = Richard Freeman <rich0@gentoo.org>
+ricmm = Ricardo Mendoza <ricmm@gentoo.org>
+rip7 = Steven Lecompte <rip7@gentoo.org>
+rizzo = Don Seiler <rizzo@gentoo.org>
+rl03 = Renat Lumpau <rl03@gentoo.org>
+roadrunner = AJ Lewis <roadrunner@gentoo.org>
+aj = AJ Lewis <aj@gentoo.org>
+robbat2 = Robin H. Johnson <robbat2@gentoo.org>
+robmoss = Robert Moss <robmoss@gentoo.org>
+rocket = Eric Edgar <rocket@gentoo.org>
+roger55 = Roger Miliker <roger55@gentoo.org>
+roughneck = Nicholas Henke <roughneck@gentoo.org>
+rphillips = Ryan Phillips <rphillips@gentoo.org>
+ruth = Florian Schilhabel <ruth@gentoo.org>
+ryan = Ryan Tolboom <ryan@gentoo.org>
+ryao = Richard Yao <ryao@gentoo.org>
+s4t4n = Michele Noberasco <s4t4n@gentoo.org>
+sam = Sam James <sam@gentoo.org>
+samyron = Scott Myron <samyron@gentoo.org>
+sanchan = Sandro Bonazzola <sanchan@gentoo.org>
+sandymac = William McArthur <sandymac@gentoo.org>
+sarnex = Nick Sarnie <sarnex@gentoo.org>
+satai = Matthew Turk <satai@gentoo.org>
+satya = Christian Andreetta <satya@gentoo.org>
+sbraz = Louis Sautier <sbraz@gentoo.org>
+sbriesen = Stefan Briesenick <sbriesen@gentoo.org>
+scandium = Rainer Groesslinger <scandium@gentoo.org>
+scarabeus = Tomas Chvatal <scarabeus@gentoo.org>
+scen = Davide Cendron <scen@gentoo.org>
+schlesi = Thomas Schlesinger <schlesi@gentoo.org>
+scox = Andrea Luzzardi <scox@gentoo.org>
+sdamashek = Samuel Damashek <sdamashek@gentoo.org>
+sebastian = Sebastian Bergmann <sebastian@gentoo.org>
+sediener = Stephen Diener <sediener@gentoo.org>
+seemant = Seemant Kulleen <seemant@gentoo.org>
+sejo = Jochen Maes <sejo@gentoo.org>
+sekretarz = Karol Wojtaszek <sekretarz@gentoo.org>
+seo = Jungmin Seo <seo@gentoo.org>
+sera = Ralph Sennhauser <sera@gentoo.org>
+serkan = Serkan Kaba <serkan@gentoo.org>
+sethbc = Seth Chandler <sethbc@gentoo.org>
+shadow = Damian Kuras <shadow@gentoo.org>
+shadoww = Damian Kuras <shadoww@gentoo.org>
+shallax = Thomas Pedley <shallax@gentoo.org>
+shellsage = Vic Fryzel <shellsage@gentoo.org>
+shindo = Naoaki Shindo <shindo@gentoo.org>
+siggy = Luca Mercuri <siggy@gentoo.org>
+signals = Kevin McCarthy <signals@gentoo.org>
+sindian = Arun Thomas <sindian@gentoo.org>
+arun = Arun Thomas <arun@gentoo.org>
+sirseoman = Tobias Matzat <sirseoman@gentoo.org>
+sj7trunks = Benjamin Coles <sj7trunks@gentoo.org>
+ska-fan = Markus Bertheau <ska-fan@gentoo.org>
+slarti = Tom Martin <slarti@gentoo.org>
+slashbeast = Piotr Karbowski <slashbeast@gentoo.org>
+slis = Slawek Lis <slis@gentoo.org>
+slyfox = Sergei Trofimovich <slyfox@gentoo.org>
+smark = Mark Dierolf <smark@gentoo.org>
+smithj = Jonathan Smith <smithj@gentoo.org>
+so = Stefano Pacella <so@gentoo.org>
+soap = David Seifert <soap@gentoo.org>
+sobhan = Sobhan Mohammadpour <sobhan@gentoo.org>
+sochotnicky = Stanislav Ochotnicky <sochotnicky@gentoo.org>
+solar = Ned Ludd <solar@gentoo.org>
+soulse = Marco Morales <soulse@gentoo.org>
+spatz = Dror Levin <spatz@gentoo.org>
+spb = Stephen Bennett <spb@gentoo.org>
+spider = D.M.D. Ljungmark <spider@gentoo.org>
+sping = Sebastian Pipping <sping@gentoo.org>
+spiros = Andrea Arteaga <spiros@gentoo.org>
+spock = Michael Januszewski <spock@gentoo.org>
+squash = Josh Grebe <squash@gentoo.org>
+squinky86 = Jon Hood <squinky86@gentoo.org>
+srcerer = Tim Schafer <srcerer@gentoo.org>
+ssuominen = Samuli Suominen <ssuominen@gentoo.org>
+drac = Samuli Suominen <drac@gentoo.org>
+st3vie = Senno During <st3vie@gentoo.org>
+st_lim = Lim Swee Tat <st_lim@gentoo.org>
+stasibear = Erik Mackdanz <stasibear@gentoo.org>
+steel300 = Jason Cox <steel300@gentoo.org>
+steev = Stephen Klimaszewski <steev@gentoo.org>
+stefaan = Stefaan De Roeck <stefaan@gentoo.org>
+steils = Stefan Strogin <steils@gentoo.org>
+stkn = Stefan Knoblich <stkn@gentoo.org>
+stocke2 = Eric Stockbridge <stocke2@gentoo.org>
+strerror = Benjamin Smee <strerror@gentoo.org>
+strider = Adrian Almenar <strider@gentoo.org>
+stroke = Gabriele Giorgetti <stroke@gentoo.org>
+stuart = Stuart Herbert <stuart@gentoo.org>
+stubear = Stuart Bouyer <stubear@gentoo.org>
+styx = Joachim Blaabjerg <styx@gentoo.org>
+suka = Andreas Proschofsky <suka@gentoo.org>
+sultan = Stephan Hartmann <sultan@gentoo.org>
+sunflare = Phil Bordelon <sunflare@gentoo.org>
+superlag = Aaron Kulbe <superlag@gentoo.org>
+svyatogor = Sergey Kuleshov <svyatogor@gentoo.org>
+sergey = Sergey Kuleshov <sergey@gentoo.org>
+swegener = Sven Wegener <swegener@gentoo.org>
+swift = Sven Vermeulen <swift@gentoo.org>
+swtaylor = Scott W Taylor <swtaylor@gentoo.org>
+tad = Troy Dack <tad@gentoo.org>
+tadpol = Michael Conrad Tilstra <tadpol@gentoo.org>
+michael = Michael Conrad Tilstra <michael@gentoo.org>
+tamiko = Matthias Maier <tamiko@gentoo.org>
+tampakrap = Theo Chatzimichos <tampakrap@gentoo.org>
+tanderson = Thomas Anderson <tanderson@gentoo.org>
+gentoofan23 = Thomas Anderson <gentoofan23@gentoo.org>
+tannewt = Scott Shawcroft <tannewt@gentoo.org>
+tantive = Michael Imhof <tantive@gentoo.org>
+taviso = Tavis Ormandy <taviso@gentoo.org>
+tberman = Todd Berman <tberman@gentoo.org>
+tchiwam = Philippe Trottier <tchiwam@gentoo.org>
+tcort = Thomas Cort <tcort@gentoo.org>
+tcunha = Tiago Cunha <tcunha@gentoo.org>
+teiresias = Christopher Brannon <teiresias@gentoo.org>
+cbrannon = Christopher Brannon <cbrannon@gentoo.org>
+tercel = Colin Kingsley <tercel@gentoo.org>
+tester = Olivier Crête <tester@gentoo.org>
+tetromino = Alexandre Rostovtsev <tetromino@gentoo.org>
+teval = Andrei Barbu <teval@gentoo.org>
+tgall = Tom Gall <tgall@gentoo.org>
+tgurr = Timo Gurr <tgurr@gentoo.org>
+the_paya = Javier Villavicencio <the_paya@gentoo.org>
+thev00d00 = Ian Whyman <thev00d00@gentoo.org>
+think4urs11 = Thomas Scharl <think4urs11@gentoo.org>
+thoand = Michael Schönbeck <thoand@gentoo.org>
+thomasfl = Thomas Flavel <thomasfl@gentoo.org>
+thread = Adam Bellinson <thread@gentoo.org>
+thunder = Damian Florczyk <thunder@gentoo.org>
+ticho = Andrej Kacian <ticho@gentoo.org>
+tigger = Rob Holland <tigger@gentoo.org>
+robh = Rob Holland <robh@gentoo.org>
+timebandit = Ron Gemeinhardt <timebandit@gentoo.org>
+titanofold = Aaron W. Swenson <titanofold@gentoo.org>
+titefleur = Marion Agé <titefleur@gentoo.org>
+tocharian = Adam Mondl <tocharian@gentoo.org>
+tod = Tod Neidt <tod@gentoo.org>
+todd = Todd Sunderlin <todd@gentoo.org>
+tomjbe = Thomas Beierlein <tomjbe@gentoo.org>
+tomk = Tom Knight <tomk@gentoo.org>
+tomka = Thomas Kahle <tomka@gentoo.org>
+tommy = Thomas Sachau <tommy@gentoo.org>
+tomwij = Tom Wijsman <tomwij@gentoo.org>
+toralf = Toralf Förster <toralf@gentoo.org>
+torbenh = Torben Hohn <torbenh@gentoo.org>
+tove = Torsten Veller <tove@gentoo.org>
+trance = Kevyn Shortell <trance@gentoo.org>
+tranquility = Ole Reifschneider <tranquility@gentoo.org>
+trapni = Christian Parpart <trapni@gentoo.org>
+tristan = Tristan Heaven <tristan@gentoo.org>
+nyhm = Tristan Heaven <nyhm@gentoo.org>
+troll = Przemyslaw Maciag <troll@gentoo.org>
+trombik = Tomoyuki Sakurai <trombik@gentoo.org>
+truedfx = Harald van Dijk <truedfx@gentoo.org>
+tseng = Brandon Hale <tseng@gentoo.org>
+tsunam = Joshua Jackson <tsunam@gentoo.org>
+tupone = Alfredo Tupone <tupone@gentoo.org>
+tutor = Pete Michaleas <tutor@gentoo.org>
+tuxus = Jan Seidel <tuxus@gentoo.org>
+twitch153 = Devan Franchini <twitch153@gentoo.org>
+twk-b = Bernie Lees <twk-b@gentoo.org>
+twp = Tom William Payne <twp@gentoo.org>
+uberlord = Roy Marples <uberlord@gentoo.org>
+ulm = Ulrich Müller <ulm@gentoo.org>
+ultrabug = Alexys Jacob <ultrabug@gentoo.org>
+underling = Tim Sammut <underling@gentoo.org>
+urilith = Michael Tindal <urilith@gentoo.org>
+usata = Mamoru Komachi <usata@gentoo.org>
+utx = Stanislav Brabec <utx@gentoo.org>
+vadimk = Vadim Kuznetsov <vadimk@gentoo.org>
+vanquirius = Marcelo Góes <vanquirius@gentoo.org>
+vapier = Mike Frysinger <vapier@gentoo.org>
+SpanKY = Mike Frysinger <SpanKY@gentoo.org>
+vdupras = Virgil Dupras <vdupras@gentoo.org>
+ventura = Ventura Barbeiro <ventura@gentoo.org>
+vericgar = Michael Stewart <vericgar@gentoo.org>
+verwilst = Bart Verwilst <verwilst@gentoo.org>
+veszig = Gabor Veszi <veszig@gentoo.org>
+vgarg = Vibhav Garg <vgarg@gentoo.org>
+vikraman = Vikraman Choudhury <vikraman@gentoo.org>
+vincent = Vicente Olivert Riera <vincent@gentoo.org>
+vitaly = Vitaly Kushneriuk <vitaly@gentoo.org>
+vitaminmoo = Graham Forest <vitaminmoo@gentoo.org>
+vladimir = Graham Forest <vladimir@gentoo.org>
+vivo = Francesco Riosa <vivo@gentoo.org>
+viz = Tobias Eichert <viz@gentoo.org>
+vlaci = László Vaskó <vlaci@gentoo.org>
+volkmar = Mounir Lamouri <volkmar@gentoo.org>
+vorlon = Matthias Geerdsen <vorlon@gentoo.org>
+vostorga = Victor Ostorga <vostorga@gentoo.org>
+voxus = Konstantin V. Arkhipov <voxus@gentoo.org>
+voyageur = Bernard Cafarelli <voyageur@gentoo.org>
+vprada = Víctor R. Prada <vprada@gentoo.org>
+vzctl = Alexey Lapitsky <vzctl@gentoo.org>
+warpzero = Joshua Charles Campbell <warpzero@gentoo.org>
+weaver = Andrey Kislyuk <weaver@gentoo.org>
+weeve = Jason Wever <weeve@gentoo.org>
+welp = Peter Weller <welp@gentoo.org>
+wesolows = Keith Wesolowski <wesolows@gentoo.org>
+whissi = Thomas Deutschmann <whissi@gentoo.org>
+williamh = William Hubbs <williamh@gentoo.org>
+wired = Alex Alexander <wired@gentoo.org>
+wizardedit = Austin English <wizardedit@gentoo.org>
+wltjr = William Thomson <wltjr@gentoo.org>
+wmertens = Wout Mertens <wmertens@gentoo.org>
+wolf31o2 = Chris Gianelloni <wolf31o2@gentoo.org>
+woodchip = Donny Davies <woodchip@gentoo.org>
+wormo = Stephanie J. Lockwood-Childs <wormo@gentoo.org>
+wraeth = Sam Jorna <wraeth@gentoo.org>
+wrobel = Gunnar Wrobel <wrobel@gentoo.org>
+wschlich = Wolfram Schlich <wschlich@gentoo.org>
+wwoods = Will Woods <wwoods@gentoo.org>
+xarthisius = Kacper Kowalik <xarthisius@gentoo.org>
+xaviermiller = Xavier Miller <xaviermiller@gentoo.org>
+xmerlin = Christian Zoffoli <xmerlin@gentoo.org>
+xmw = Michael Weber <xmw@gentoo.org>
+xtv = Thomas Veith <xtv@gentoo.org>
+yac = Jan Matejka <yac@gentoo.org>
+yakina = Yamakura Makoto <yakina@gentoo.org>
+yakmoose = John Lennard <yakmoose@gentoo.org>
+ykoehler = Yannik Koehler <ykoehler@gentoo.org>
+yngwin = Ben de Groot <yngwin@gentoo.org>
+yoswink = José Luis Rivero <yoswink@gentoo.org>
+yuval = Yuval Yaari <yuval@gentoo.org>
+yvasilev = Yuri Vasilevski <yvasilev@gentoo.org>
+zaheerm = Zaheer Abbas Merali <zaheerm@gentoo.org>
+zenkov = Ivan Zenkov <zenkov@gentoo.org>
+zerochaos = Rick Farina <zerochaos@gentoo.org>
+zeypher = Matthew Snelham <zeypher@gentoo.org>
+zhen = John P. Davis <zhen@gentoo.org>
+zhware = Stoyan Zhekov <zhware@gentoo.org>
+zlg = zlg <zlg@gentoo.org>
+zlin = Bo Ørsted Andresen <zlin@gentoo.org>
+zlogene = Mikle Kolyada <zlogene@gentoo.org>
+zmedico = Zac Medico <zmedico@gentoo.org>
+zorry = Magnus Granberg <zorry@gentoo.org>
+zul = Chuck Short <zul@gentoo.org>
+zwelch = Zack Welch <zwelch@gentoo.org>
+zx = Chris Aniszczyk <zx@gentoo.org>
+zx2c4 = Jason A. Donenfeld <zx2c4@gentoo.org>
+zypher = Marc Hildebrand <zypher@gentoo.org>
+zzam = Matthias Schwarzott <zzam@gentoo.org>
diff --git a/authormap.xsl b/authormap.xsl
new file mode 100644
index 0000000..046b56c
--- /dev/null
+++ b/authormap.xsl
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2021 Ulrich Müller -->
+<!-- Distributed under the terms of the MIT license -->
+
+<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
+<xsl:output method="text"/>
+
+<xsl:variable name="newline" select="'&#10;'"/>
+
+<!-- suppress implicit whitespace -->
+<xsl:template match="text()"/>
+
+<xsl:template match="user">
+ <xsl:value-of select="concat(@username, ' = ', realname/@fullname,
+ ' &lt;', @username, '@gentoo.org&gt;', $newline)"/>
+ <xsl:for-each select="alias">
+ <xsl:value-of select="concat(., ' = ', ../realname/@fullname,
+ ' &lt;', ., '@gentoo.org&gt;', $newline)"/>
+ </xsl:for-each>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/cvs-fast-export.log b/cvs-fast-export.log
new file mode 100644
index 0000000..4e77e2f
--- /dev/null
+++ b/cvs-fast-export.log
@@ -0,0 +1 @@
+cvs-fast-export: no commitids before 2006-03-04T10:23:03Z.
diff --git a/make-authormap.sh b/make-authormap.sh
new file mode 100755
index 0000000..4138cfd
--- /dev/null
+++ b/make-authormap.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+# Copyright 2021 Ulrich Müller
+# Distributed under the terms of the MIT license
+
+xsltproc --path . authormap.xsl userinfo.xml | awk '
+ BEGIN {
+ uidmap["genstef"] = "895"
+ uidmap["jer"] = "2078"
+ uidmap["remi"] = "2153"
+ uidmap["bicatali"] = "2162"
+ uidmap["darkside"] = "2214"
+ }
+ $1 == "jerrya" { sub (/Unknown/, "Jerry Alexandratos") }
+ { print }
+ $1 in uidmap { $1 = "uid" uidmap[$1]; print }'
diff --git a/userinfo.dtd b/userinfo.dtd
new file mode 100644
index 0000000..8058c7d
--- /dev/null
+++ b/userinfo.dtd
@@ -0,0 +1,23 @@
+<!ELEMENT userlist (user+)>
+<!ELEMENT user (realname, pgpkey+, alias*, email+, joined*, retired*, status?, roles?, location?) >
+ <!ATTLIST user username ID #REQUIRED>
+ <!ELEMENT realname (firstname,familyname)>
+ <!ATTLIST realname fullname CDATA #IMPLIED>
+ <!ELEMENT firstname (#PCDATA) >
+ <!ELEMENT familyname (#PCDATA) >
+ <!ATTLIST familyname sort CDATA #IMPLIED>
+ <!ELEMENT pgpkey (#PCDATA)>
+ <!ELEMENT alias (#PCDATA)>
+ <!ELEMENT email (#PCDATA)>
+
+ <!-- all dates should be YYYY-MM-DD - eg '2006-11-22' -->
+ <!ELEMENT joined (#PCDATA)>
+ <!ELEMENT retired (#PCDATA)>
+
+ <!ELEMENT status (#PCDATA)>
+ <!ELEMENT roles (#PCDATA)>
+ <!-- Location is the string displayed on the webpage -->
+ <!ELEMENT location (#PCDATA)>
+ <!-- signed decimal numbers. degrees north/east. -->
+ <!ATTLIST location latitude CDATA #IMPLIED
+ longitude CDATA #IMPLIED>