diff --git a/eclipse.platform.ui.e4/pass1/c2g_compat.options b/eclipse.platform.ui.e4/pass1/c2g_compat.options
index 9f7b26e..258db57 100644
--- a/eclipse.platform.ui.e4/pass1/c2g_compat.options
+++ b/eclipse.platform.ui.e4/pass1/c2g_compat.options
@@ -511,76 +511,85 @@
 # to use with the author_transforms option of GitOutputOption below.
 author_transforms={
 
-'ahunter' : ('Anthony Hunter', 'ahunter@eclipse.org'),
-'airvine' : ('airvine', 'airvine@eclipse.org'),
-'aniefer' : ('Andrew Niefer', 'aniefer@eclipse.org'),
-'aweinand' : ('aweinand', 'aweinand@eclipse.org'),
-'bbiggs' : ('bbiggs', 'bbiggs@eclipse.org'),
-'bbokowski' : ('Boris Bokowski', 'bbokowski@eclipse.org'),
-'bcabe' : ('Benjamin Cabe', 'bcabe@eclipse.org'),
-'bdealwis' : ('Brian Dealwis', 'bdealwis@eclipse.org'),
-'breynolds' : ('breynolds', 'breynolds@eclipse.org'),
-'cdaniel' : ('Krzysztof Daniel', 'cdaniel@eclipse.org'),
-'cknaus' : ('cknaus', 'cknaus@eclipse.org'),
-'cmclaren' : ('cmclaren', 'cmclaren@eclipse.org'),
-'darins' : ('darins', 'darins@eclipse.org'),
-'davids' : ('davids', 'davids@eclipse.org'),
-'dejan' : ('dejan', 'dejan@eclipse.org'),
-'dmegert' : ('Dani Megert', 'dmegert@eclipse.org'),
-'dorme' : ('Dave Orme', 'dorme@eclipse.org'),
-'dpollock' : ('dpollock', 'dpollock@eclipse.org'),
-'droberts' : ('Dean Roberts', 'droberts@eclipse.org'),
-'dwilson' : ('dwilson', 'dwilson@eclipse.org'),
-'ebb' : ('Ed Burnette', 'ebb@eclipse.org'),
-'eduardo' : ('eduardo', 'eduardo@eclipse.org'),
-'eidsness' : ('eidsness', 'eidsness@eclipse.org'),
-'emoffatt' : ('Eric Moffatt', 'emoffatt@eclipse.org'),
-'fuptoniv' : ('Francis Upton IV', 'fuptoniv@eclipse.org'),
-'gheorghe' : ('Bogdan Gheorghe', 'gheorghe@eclipse.org'),
-'gmendel' : ('gmendel', 'gmendel@eclipse.org'),
-'gunnar' : ('Gunnar Wagenknecht', 'gunnar@eclipse.org'),
-'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal@eclipse.org'),
-'ikhelifi' : ('ikhelifi', 'ikhelifi@eclipse.org'),
-'jeem' : ('jeem', 'jeem@eclipse.org'),
-'jlebrun' : ('jlebrun', 'jlebrun@eclipse.org'),
-'jlemieux' : ('jlemieux', 'jlemieux@eclipse.org'),
-'johna' : ('John Arthorne', 'johna@eclipse.org'),
-'karice' : ('Karice McIntyre', 'karice@eclipse.org'),
-'kevinh' : ('kevinh', 'kevinh@eclipse.org'),
-'kevinm' : ('kevinm', 'kevinm@eclipse.org'),
-'khorne' : ('khorne', 'khorne@eclipse.org'),
-'kmaetzel' : ('kmaetzel', 'kmaetzel@eclipse.org'),
-'kmoir' : ('Kim Moir', 'kmoir@eclipse.org'),
-'kradloff' : ('kradloff', 'kradloff@eclipse.org'),
-'ktoedter' : ('Kai Toedter', 'ktoedter@eclipse.org'),
-'lkues' : ('lkues', 'lkues@eclipse.org'),
-'marcelop' : ('Marcelo Paternostro', 'marcelop@eclipse.org'),
-'melder' : ('melder', 'melder@eclipse.org'),
-'mhall' : ('Matthew Hall', 'mhall@eclipse.org'),
-'mhatem' : ('mhatem', 'mhatem@eclipse.org'),
-'mkeller' : ('Markus Keller', 'mkeller@eclipse.org'),
-'mvalenta' : ('mvalenta', 'mvalenta@eclipse.org'),
-'mvanmeek' : ('mvanmeek', 'mvanmeek@eclipse.org'),
-'nick' : ('Nick Edgar', 'nick@eclipse.org'),
-'obesedin' : ('Oleg Besedin', 'obesedin@eclipse.org'),
-'omallo' : ('Ovidio Mallo', 'omallo@eclipse.org'),
-'prangaraj' : ('Prakash Rangaraj', 'prangaraj@eclipse.org'),
-'pwebster' : ('Paul Webster', 'pwebster@eclipse.org'),
-'randyg' : ('randyg', 'randyg@eclipse.org'),
-'rherrmann' : ('Rudiger Herrmann', 'rherrmann@eclipse.org'),
-'rsternber' : ('Ralf Sternberg', 'rsternber@eclipse.org'),
-'rsuen' : ('Remy Suen', 'rsuen@eclipse.org'),
-'sarsenau' : ('sarsenau', 'sarsenau@eclipse.org'),
-'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp@eclipse.org'),
-'sbrandys' : ('Szymon Brandys', 'sbrandys@eclipse.org'),
-'sdimitro' : ('Sonia Dimitrov', 'sdimitro@eclipse.org'),
-'sfranklin' : ('Susan McCourt', 'sfranklin@eclipse.org'),
-'sxenos' : ('sxenos', 'sxenos@eclipse.org'),
-'tod' : ('Tod Creasey', 'tod@eclipse.org'),
-'tschindl' : ('Thomas Schindl', 'tschindl@eclipse.org'),
-'wchoi' : ('wchoi', 'wchoi@eclipse.org'),
-'winchest' : ('winchest', 'winchest@eclipse.org'),
-'yvyang' : ('Yves YANG', 'yvyang@eclipse.org'),
+'aarcher' : ('Adam Archer', 'aarcher'),
+'ahunter' : ('Anthony Hunter', 'ahunter'),
+'airvine' : ('airvine', 'airvine'),
+'aniefer' : ('Andrew Niefer', 'aniefer'),
+'aweinand' : ('aweinand', 'aweinand'),
+'bbiggs' : ('bbiggs', 'bbiggs'),
+'bbokowski' : ('Boris Bokowski', 'bbokowski'),
+'bcabe' : ('Benjamin Cabe', 'bcabe'),
+'bdealwis' : ('Brian Dealwis', 'bdealwis'),
+'bmuskalla' : ('Benjamin Muskalla', 'bmuskalla'),
+'breynolds' : ('breynolds', 'breynolds'),
+'caniszczyk' : ('Chris Aniszczyk', 'caniszczyk'),
+'cdaniel' : ('Krzysztof Daniel', 'cdaniel'),
+'cgoldthor' : ('Chris Goldthorpe', 'cgoldthor'),
+'cknaus' : ('cknaus', 'cknaus'),
+'cmclaren' : ('cmclaren', 'cmclaren'),
+'curtispd' : ('Curtis D'Entremont', 'curtispd'),
+'darins' : ('darins', 'darins'),
+'davids' : ('davids', 'davids'),
+'deboer' : ('Timothy Deboer', 'deboer'),
+'dejan' : ('dejan', 'dejan'),
+'dmegert' : ('Dani Megert', 'dmegert'),
+'dorme' : ('Dave Orme', 'dorme'),
+'dpollock' : ('dpollock', 'dpollock'),
+'droberts' : ('Dean Roberts', 'droberts'),
+'drubel' : ('Dan Rubel', 'drubel'),
+'dwilson' : ('dwilson', 'dwilson'),
+'ebb' : ('Ed Burnette', 'ebb'),
+'eduardo' : ('eduardo', 'eduardo'),
+'eidsness' : ('eidsness', 'eidsness'),
+'emoffatt' : ('Eric Moffatt', 'emoffatt'),
+'fuptoniv' : ('Francis Upton IV', 'fuptoniv'),
+'gheorghe' : ('Bogdan Gheorghe', 'gheorghe'),
+'gmendel' : ('gmendel', 'gmendel'),
+'gunnar' : ('Gunnar Wagenknecht', 'gunnar'),
+'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal'),
+'ikhelifi' : ('ikhelifi', 'ikhelifi'),
+'jeem' : ('jeem', 'jeem'),
+'jlebrun' : ('jlebrun', 'jlebrun'),
+'jlemieux' : ('jlemieux', 'jlemieux'),
+'johna' : ('John Arthorne', 'johna'),
+'karice' : ('Karice McIntyre', 'karice'),
+'kevinh' : ('kevinh', 'kevinh'),
+'kevinm' : ('kevinm', 'kevinm'),
+'khorne' : ('khorne', 'khorne'),
+'kmaetzel' : ('kmaetzel', 'kmaetzel'),
+'kmoir' : ('Kim Moir', 'kmoir'),
+'kradloff' : ('kradloff', 'kradloff'),
+'ktoedter' : ('Kai Toedter', 'ktoedter'),
+'lkues' : ('lkues', 'lkues'),
+'lvogel' : ('Lars Vogel', 'lvogel'),
+'marcelop' : ('Marcelo Paternostro', 'marcelop'),
+'melder' : ('melder', 'melder'),
+'mhall' : ('Matthew Hall', 'mhall'),
+'mhatem' : ('mhatem', 'mhatem'),
+'mkeller' : ('Markus Keller', 'mkeller'),
+'mvalenta' : ('mvalenta', 'mvalenta'),
+'mvanmeek' : ('mvanmeek', 'mvanmeek'),
+'nick' : ('Nick Edgar', 'nick'),
+'obesedin' : ('Oleg Besedin', 'obesedin'),
+'omallo' : ('Ovidio Mallo', 'omallo'),
+'prangaraj' : ('Prakash Rangaraj', 'prangaraj'),
+'pwebster' : ('Paul Webster', 'pwebster'),
+'randyg' : ('randyg', 'randyg'),
+'rherrmann' : ('Rudiger Herrmann', 'rherrmann'),
+'rsternber' : ('Ralf Sternberg', 'rsternber'),
+'rsuen' : ('Remy Suen', 'rsuen'),
+'sarsenau' : ('sarsenau', 'sarsenau'),
+'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp'),
+'sbrandys' : ('Szymon Brandys', 'sbrandys'),
+'sdimitro' : ('Sonia Dimitrov', 'sdimitro'),
+'sfranklin' : ('Susan Franklin', 'sfranklin'),
+'sxenos' : ('sxenos', 'sxenos'),
+'tod' : ('Tod Creasey', 'tod'),
+'tschindl' : ('Thomas Schindl', 'tschindl'),
+'wchoi' : ('wchoi', 'wchoi'),
+'winchest' : ('winchest', 'winchest'),
+'wmelhem' : ('wmelhem', 'wmelhem'),
+'yvyang' : ('Yves YANG', 'yvyang'),
 #    'jrandom' : ('J. Random', 'jrandom@example.com'),
 #    'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
 #    'brane' : (u'Branko Äibej', 'brane@xbc.nu'),
diff --git a/eclipse.platform.ui.e4/pass1/c2g_e4_ui.options b/eclipse.platform.ui.e4/pass1/c2g_e4_ui.options
index c7d6a6b..a113c15 100644
--- a/eclipse.platform.ui.e4/pass1/c2g_e4_ui.options
+++ b/eclipse.platform.ui.e4/pass1/c2g_e4_ui.options
@@ -511,76 +511,85 @@
 # to use with the author_transforms option of GitOutputOption below.
 author_transforms={
 
-'ahunter' : ('Anthony Hunter', 'ahunter@eclipse.org'),
-'airvine' : ('airvine', 'airvine@eclipse.org'),
-'aniefer' : ('Andrew Niefer', 'aniefer@eclipse.org'),
-'aweinand' : ('aweinand', 'aweinand@eclipse.org'),
-'bbiggs' : ('bbiggs', 'bbiggs@eclipse.org'),
-'bbokowski' : ('Boris Bokowski', 'bbokowski@eclipse.org'),
-'bcabe' : ('Benjamin Cabe', 'bcabe@eclipse.org'),
-'bdealwis' : ('Brian Dealwis', 'bdealwis@eclipse.org'),
-'breynolds' : ('breynolds', 'breynolds@eclipse.org'),
-'cdaniel' : ('Krzysztof Daniel', 'cdaniel@eclipse.org'),
-'cknaus' : ('cknaus', 'cknaus@eclipse.org'),
-'cmclaren' : ('cmclaren', 'cmclaren@eclipse.org'),
-'darins' : ('darins', 'darins@eclipse.org'),
-'davids' : ('davids', 'davids@eclipse.org'),
-'dejan' : ('dejan', 'dejan@eclipse.org'),
-'dmegert' : ('Dani Megert', 'dmegert@eclipse.org'),
-'dorme' : ('Dave Orme', 'dorme@eclipse.org'),
-'dpollock' : ('dpollock', 'dpollock@eclipse.org'),
-'droberts' : ('Dean Roberts', 'droberts@eclipse.org'),
-'dwilson' : ('dwilson', 'dwilson@eclipse.org'),
-'ebb' : ('Ed Burnette', 'ebb@eclipse.org'),
-'eduardo' : ('eduardo', 'eduardo@eclipse.org'),
-'eidsness' : ('eidsness', 'eidsness@eclipse.org'),
-'emoffatt' : ('Eric Moffatt', 'emoffatt@eclipse.org'),
-'fuptoniv' : ('Francis Upton IV', 'fuptoniv@eclipse.org'),
-'gheorghe' : ('Bogdan Gheorghe', 'gheorghe@eclipse.org'),
-'gmendel' : ('gmendel', 'gmendel@eclipse.org'),
-'gunnar' : ('Gunnar Wagenknecht', 'gunnar@eclipse.org'),
-'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal@eclipse.org'),
-'ikhelifi' : ('ikhelifi', 'ikhelifi@eclipse.org'),
-'jeem' : ('jeem', 'jeem@eclipse.org'),
-'jlebrun' : ('jlebrun', 'jlebrun@eclipse.org'),
-'jlemieux' : ('jlemieux', 'jlemieux@eclipse.org'),
-'johna' : ('John Arthorne', 'johna@eclipse.org'),
-'karice' : ('Karice McIntyre', 'karice@eclipse.org'),
-'kevinh' : ('kevinh', 'kevinh@eclipse.org'),
-'kevinm' : ('kevinm', 'kevinm@eclipse.org'),
-'khorne' : ('khorne', 'khorne@eclipse.org'),
-'kmaetzel' : ('kmaetzel', 'kmaetzel@eclipse.org'),
-'kmoir' : ('Kim Moir', 'kmoir@eclipse.org'),
-'kradloff' : ('kradloff', 'kradloff@eclipse.org'),
-'ktoedter' : ('Kai Toedter', 'ktoedter@eclipse.org'),
-'lkues' : ('lkues', 'lkues@eclipse.org'),
-'marcelop' : ('Marcelo Paternostro', 'marcelop@eclipse.org'),
-'melder' : ('melder', 'melder@eclipse.org'),
-'mhall' : ('Matthew Hall', 'mhall@eclipse.org'),
-'mhatem' : ('mhatem', 'mhatem@eclipse.org'),
-'mkeller' : ('Markus Keller', 'mkeller@eclipse.org'),
-'mvalenta' : ('mvalenta', 'mvalenta@eclipse.org'),
-'mvanmeek' : ('mvanmeek', 'mvanmeek@eclipse.org'),
-'nick' : ('Nick Edgar', 'nick@eclipse.org'),
-'obesedin' : ('Oleg Besedin', 'obesedin@eclipse.org'),
-'omallo' : ('Ovidio Mallo', 'omallo@eclipse.org'),
-'prangaraj' : ('Prakash Rangaraj', 'prangaraj@eclipse.org'),
-'pwebster' : ('Paul Webster', 'pwebster@eclipse.org'),
-'randyg' : ('randyg', 'randyg@eclipse.org'),
-'rherrmann' : ('Rudiger Herrmann', 'rherrmann@eclipse.org'),
-'rsternber' : ('Ralf Sternberg', 'rsternber@eclipse.org'),
-'rsuen' : ('Remy Suen', 'rsuen@eclipse.org'),
-'sarsenau' : ('sarsenau', 'sarsenau@eclipse.org'),
-'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp@eclipse.org'),
-'sbrandys' : ('Szymon Brandys', 'sbrandys@eclipse.org'),
-'sdimitro' : ('Sonia Dimitrov', 'sdimitro@eclipse.org'),
-'sfranklin' : ('Susan McCourt', 'sfranklin@eclipse.org'),
-'sxenos' : ('sxenos', 'sxenos@eclipse.org'),
-'tod' : ('Tod Creasey', 'tod@eclipse.org'),
-'tschindl' : ('Thomas Schindl', 'tschindl@eclipse.org'),
-'wchoi' : ('wchoi', 'wchoi@eclipse.org'),
-'winchest' : ('winchest', 'winchest@eclipse.org'),
-'yvyang' : ('Yves YANG', 'yvyang@eclipse.org'),
+'aarcher' : ('Adam Archer', 'aarcher'),
+'ahunter' : ('Anthony Hunter', 'ahunter'),
+'airvine' : ('airvine', 'airvine'),
+'aniefer' : ('Andrew Niefer', 'aniefer'),
+'aweinand' : ('aweinand', 'aweinand'),
+'bbiggs' : ('bbiggs', 'bbiggs'),
+'bbokowski' : ('Boris Bokowski', 'bbokowski'),
+'bcabe' : ('Benjamin Cabe', 'bcabe'),
+'bdealwis' : ('Brian Dealwis', 'bdealwis'),
+'bmuskalla' : ('Benjamin Muskalla', 'bmuskalla'),
+'breynolds' : ('breynolds', 'breynolds'),
+'caniszczyk' : ('Chris Aniszczyk', 'caniszczyk'),
+'cdaniel' : ('Krzysztof Daniel', 'cdaniel'),
+'cgoldthor' : ('Chris Goldthorpe', 'cgoldthor'),
+'cknaus' : ('cknaus', 'cknaus'),
+'cmclaren' : ('cmclaren', 'cmclaren'),
+'curtispd' : ('Curtis D'Entremont', 'curtispd'),
+'darins' : ('darins', 'darins'),
+'davids' : ('davids', 'davids'),
+'deboer' : ('Timothy Deboer', 'deboer'),
+'dejan' : ('dejan', 'dejan'),
+'dmegert' : ('Dani Megert', 'dmegert'),
+'dorme' : ('Dave Orme', 'dorme'),
+'dpollock' : ('dpollock', 'dpollock'),
+'droberts' : ('Dean Roberts', 'droberts'),
+'drubel' : ('Dan Rubel', 'drubel'),
+'dwilson' : ('dwilson', 'dwilson'),
+'ebb' : ('Ed Burnette', 'ebb'),
+'eduardo' : ('eduardo', 'eduardo'),
+'eidsness' : ('eidsness', 'eidsness'),
+'emoffatt' : ('Eric Moffatt', 'emoffatt'),
+'fuptoniv' : ('Francis Upton IV', 'fuptoniv'),
+'gheorghe' : ('Bogdan Gheorghe', 'gheorghe'),
+'gmendel' : ('gmendel', 'gmendel'),
+'gunnar' : ('Gunnar Wagenknecht', 'gunnar'),
+'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal'),
+'ikhelifi' : ('ikhelifi', 'ikhelifi'),
+'jeem' : ('jeem', 'jeem'),
+'jlebrun' : ('jlebrun', 'jlebrun'),
+'jlemieux' : ('jlemieux', 'jlemieux'),
+'johna' : ('John Arthorne', 'johna'),
+'karice' : ('Karice McIntyre', 'karice'),
+'kevinh' : ('kevinh', 'kevinh'),
+'kevinm' : ('kevinm', 'kevinm'),
+'khorne' : ('khorne', 'khorne'),
+'kmaetzel' : ('kmaetzel', 'kmaetzel'),
+'kmoir' : ('Kim Moir', 'kmoir'),
+'kradloff' : ('kradloff', 'kradloff'),
+'ktoedter' : ('Kai Toedter', 'ktoedter'),
+'lkues' : ('lkues', 'lkues'),
+'lvogel' : ('Lars Vogel', 'lvogel'),
+'marcelop' : ('Marcelo Paternostro', 'marcelop'),
+'melder' : ('melder', 'melder'),
+'mhall' : ('Matthew Hall', 'mhall'),
+'mhatem' : ('mhatem', 'mhatem'),
+'mkeller' : ('Markus Keller', 'mkeller'),
+'mvalenta' : ('mvalenta', 'mvalenta'),
+'mvanmeek' : ('mvanmeek', 'mvanmeek'),
+'nick' : ('Nick Edgar', 'nick'),
+'obesedin' : ('Oleg Besedin', 'obesedin'),
+'omallo' : ('Ovidio Mallo', 'omallo'),
+'prangaraj' : ('Prakash Rangaraj', 'prangaraj'),
+'pwebster' : ('Paul Webster', 'pwebster'),
+'randyg' : ('randyg', 'randyg'),
+'rherrmann' : ('Rudiger Herrmann', 'rherrmann'),
+'rsternber' : ('Ralf Sternberg', 'rsternber'),
+'rsuen' : ('Remy Suen', 'rsuen'),
+'sarsenau' : ('sarsenau', 'sarsenau'),
+'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp'),
+'sbrandys' : ('Szymon Brandys', 'sbrandys'),
+'sdimitro' : ('Sonia Dimitrov', 'sdimitro'),
+'sfranklin' : ('Susan Franklin', 'sfranklin'),
+'sxenos' : ('sxenos', 'sxenos'),
+'tod' : ('Tod Creasey', 'tod'),
+'tschindl' : ('Thomas Schindl', 'tschindl'),
+'wchoi' : ('wchoi', 'wchoi'),
+'winchest' : ('winchest', 'winchest'),
+'wmelhem' : ('wmelhem', 'wmelhem'),
+'yvyang' : ('Yves YANG', 'yvyang'),
 #    'jrandom' : ('J. Random', 'jrandom@example.com'),
 #    'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
 #    'brane' : (u'Branko Äibej', 'brane@xbc.nu'),
diff --git a/eclipse.platform.ui.e4/pass1/c2g_platform_runtime.options b/eclipse.platform.ui.e4/pass1/c2g_platform_runtime.options
index 44f9dc1..2ff654a 100644
--- a/eclipse.platform.ui.e4/pass1/c2g_platform_runtime.options
+++ b/eclipse.platform.ui.e4/pass1/c2g_platform_runtime.options
@@ -511,76 +511,85 @@
 # to use with the author_transforms option of GitOutputOption below.
 author_transforms={
 
-'ahunter' : ('Anthony Hunter', 'ahunter@eclipse.org'),
-'airvine' : ('airvine', 'airvine@eclipse.org'),
-'aniefer' : ('Andrew Niefer', 'aniefer@eclipse.org'),
-'aweinand' : ('aweinand', 'aweinand@eclipse.org'),
-'bbiggs' : ('bbiggs', 'bbiggs@eclipse.org'),
-'bbokowski' : ('Boris Bokowski', 'bbokowski@eclipse.org'),
-'bcabe' : ('Benjamin Cabe', 'bcabe@eclipse.org'),
-'bdealwis' : ('Brian Dealwis', 'bdealwis@eclipse.org'),
-'breynolds' : ('breynolds', 'breynolds@eclipse.org'),
-'cdaniel' : ('Krzysztof Daniel', 'cdaniel@eclipse.org'),
-'cknaus' : ('cknaus', 'cknaus@eclipse.org'),
-'cmclaren' : ('cmclaren', 'cmclaren@eclipse.org'),
-'darins' : ('darins', 'darins@eclipse.org'),
-'davids' : ('davids', 'davids@eclipse.org'),
-'dejan' : ('dejan', 'dejan@eclipse.org'),
-'dmegert' : ('Dani Megert', 'dmegert@eclipse.org'),
-'dorme' : ('Dave Orme', 'dorme@eclipse.org'),
-'dpollock' : ('dpollock', 'dpollock@eclipse.org'),
-'droberts' : ('Dean Roberts', 'droberts@eclipse.org'),
-'dwilson' : ('dwilson', 'dwilson@eclipse.org'),
-'ebb' : ('Ed Burnette', 'ebb@eclipse.org'),
-'eduardo' : ('eduardo', 'eduardo@eclipse.org'),
-'eidsness' : ('eidsness', 'eidsness@eclipse.org'),
-'emoffatt' : ('Eric Moffatt', 'emoffatt@eclipse.org'),
-'fuptoniv' : ('Francis Upton IV', 'fuptoniv@eclipse.org'),
-'gheorghe' : ('Bogdan Gheorghe', 'gheorghe@eclipse.org'),
-'gmendel' : ('gmendel', 'gmendel@eclipse.org'),
-'gunnar' : ('Gunnar Wagenknecht', 'gunnar@eclipse.org'),
-'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal@eclipse.org'),
-'ikhelifi' : ('ikhelifi', 'ikhelifi@eclipse.org'),
-'jeem' : ('jeem', 'jeem@eclipse.org'),
-'jlebrun' : ('jlebrun', 'jlebrun@eclipse.org'),
-'jlemieux' : ('jlemieux', 'jlemieux@eclipse.org'),
-'johna' : ('John Arthorne', 'johna@eclipse.org'),
-'karice' : ('Karice McIntyre', 'karice@eclipse.org'),
-'kevinh' : ('kevinh', 'kevinh@eclipse.org'),
-'kevinm' : ('kevinm', 'kevinm@eclipse.org'),
-'khorne' : ('khorne', 'khorne@eclipse.org'),
-'kmaetzel' : ('kmaetzel', 'kmaetzel@eclipse.org'),
-'kmoir' : ('Kim Moir', 'kmoir@eclipse.org'),
-'kradloff' : ('kradloff', 'kradloff@eclipse.org'),
-'ktoedter' : ('Kai Toedter', 'ktoedter@eclipse.org'),
-'lkues' : ('lkues', 'lkues@eclipse.org'),
-'marcelop' : ('Marcelo Paternostro', 'marcelop@eclipse.org'),
-'melder' : ('melder', 'melder@eclipse.org'),
-'mhall' : ('Matthew Hall', 'mhall@eclipse.org'),
-'mhatem' : ('mhatem', 'mhatem@eclipse.org'),
-'mkeller' : ('Markus Keller', 'mkeller@eclipse.org'),
-'mvalenta' : ('mvalenta', 'mvalenta@eclipse.org'),
-'mvanmeek' : ('mvanmeek', 'mvanmeek@eclipse.org'),
-'nick' : ('Nick Edgar', 'nick@eclipse.org'),
-'obesedin' : ('Oleg Besedin', 'obesedin@eclipse.org'),
-'omallo' : ('Ovidio Mallo', 'omallo@eclipse.org'),
-'prangaraj' : ('Prakash Rangaraj', 'prangaraj@eclipse.org'),
-'pwebster' : ('Paul Webster', 'pwebster@eclipse.org'),
-'randyg' : ('randyg', 'randyg@eclipse.org'),
-'rherrmann' : ('Rudiger Herrmann', 'rherrmann@eclipse.org'),
-'rsternber' : ('Ralf Sternberg', 'rsternber@eclipse.org'),
-'rsuen' : ('Remy Suen', 'rsuen@eclipse.org'),
-'sarsenau' : ('sarsenau', 'sarsenau@eclipse.org'),
-'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp@eclipse.org'),
-'sbrandys' : ('Szymon Brandys', 'sbrandys@eclipse.org'),
-'sdimitro' : ('Sonia Dimitrov', 'sdimitro@eclipse.org'),
-'sfranklin' : ('Susan McCourt', 'sfranklin@eclipse.org'),
-'sxenos' : ('sxenos', 'sxenos@eclipse.org'),
-'tod' : ('Tod Creasey', 'tod@eclipse.org'),
-'tschindl' : ('Thomas Schindl', 'tschindl@eclipse.org'),
-'wchoi' : ('wchoi', 'wchoi@eclipse.org'),
-'winchest' : ('winchest', 'winchest@eclipse.org'),
-'yvyang' : ('Yves YANG', 'yvyang@eclipse.org'),
+'aarcher' : ('Adam Archer', 'aarcher'),
+'ahunter' : ('Anthony Hunter', 'ahunter'),
+'airvine' : ('airvine', 'airvine'),
+'aniefer' : ('Andrew Niefer', 'aniefer'),
+'aweinand' : ('aweinand', 'aweinand'),
+'bbiggs' : ('bbiggs', 'bbiggs'),
+'bbokowski' : ('Boris Bokowski', 'bbokowski'),
+'bcabe' : ('Benjamin Cabe', 'bcabe'),
+'bdealwis' : ('Brian Dealwis', 'bdealwis'),
+'bmuskalla' : ('Benjamin Muskalla', 'bmuskalla'),
+'breynolds' : ('breynolds', 'breynolds'),
+'caniszczyk' : ('Chris Aniszczyk', 'caniszczyk'),
+'cdaniel' : ('Krzysztof Daniel', 'cdaniel'),
+'cgoldthor' : ('Chris Goldthorpe', 'cgoldthor'),
+'cknaus' : ('cknaus', 'cknaus'),
+'cmclaren' : ('cmclaren', 'cmclaren'),
+'curtispd' : ('Curtis D'Entremont', 'curtispd'),
+'darins' : ('darins', 'darins'),
+'davids' : ('davids', 'davids'),
+'deboer' : ('Timothy Deboer', 'deboer'),
+'dejan' : ('dejan', 'dejan'),
+'dmegert' : ('Dani Megert', 'dmegert'),
+'dorme' : ('Dave Orme', 'dorme'),
+'dpollock' : ('dpollock', 'dpollock'),
+'droberts' : ('Dean Roberts', 'droberts'),
+'drubel' : ('Dan Rubel', 'drubel'),
+'dwilson' : ('dwilson', 'dwilson'),
+'ebb' : ('Ed Burnette', 'ebb'),
+'eduardo' : ('eduardo', 'eduardo'),
+'eidsness' : ('eidsness', 'eidsness'),
+'emoffatt' : ('Eric Moffatt', 'emoffatt'),
+'fuptoniv' : ('Francis Upton IV', 'fuptoniv'),
+'gheorghe' : ('Bogdan Gheorghe', 'gheorghe'),
+'gmendel' : ('gmendel', 'gmendel'),
+'gunnar' : ('Gunnar Wagenknecht', 'gunnar'),
+'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal'),
+'ikhelifi' : ('ikhelifi', 'ikhelifi'),
+'jeem' : ('jeem', 'jeem'),
+'jlebrun' : ('jlebrun', 'jlebrun'),
+'jlemieux' : ('jlemieux', 'jlemieux'),
+'johna' : ('John Arthorne', 'johna'),
+'karice' : ('Karice McIntyre', 'karice'),
+'kevinh' : ('kevinh', 'kevinh'),
+'kevinm' : ('kevinm', 'kevinm'),
+'khorne' : ('khorne', 'khorne'),
+'kmaetzel' : ('kmaetzel', 'kmaetzel'),
+'kmoir' : ('Kim Moir', 'kmoir'),
+'kradloff' : ('kradloff', 'kradloff'),
+'ktoedter' : ('Kai Toedter', 'ktoedter'),
+'lkues' : ('lkues', 'lkues'),
+'lvogel' : ('Lars Vogel', 'lvogel'),
+'marcelop' : ('Marcelo Paternostro', 'marcelop'),
+'melder' : ('melder', 'melder'),
+'mhall' : ('Matthew Hall', 'mhall'),
+'mhatem' : ('mhatem', 'mhatem'),
+'mkeller' : ('Markus Keller', 'mkeller'),
+'mvalenta' : ('mvalenta', 'mvalenta'),
+'mvanmeek' : ('mvanmeek', 'mvanmeek'),
+'nick' : ('Nick Edgar', 'nick'),
+'obesedin' : ('Oleg Besedin', 'obesedin'),
+'omallo' : ('Ovidio Mallo', 'omallo'),
+'prangaraj' : ('Prakash Rangaraj', 'prangaraj'),
+'pwebster' : ('Paul Webster', 'pwebster'),
+'randyg' : ('randyg', 'randyg'),
+'rherrmann' : ('Rudiger Herrmann', 'rherrmann'),
+'rsternber' : ('Ralf Sternberg', 'rsternber'),
+'rsuen' : ('Remy Suen', 'rsuen'),
+'sarsenau' : ('sarsenau', 'sarsenau'),
+'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp'),
+'sbrandys' : ('Szymon Brandys', 'sbrandys'),
+'sdimitro' : ('Sonia Dimitrov', 'sdimitro'),
+'sfranklin' : ('Susan Franklin', 'sfranklin'),
+'sxenos' : ('sxenos', 'sxenos'),
+'tod' : ('Tod Creasey', 'tod'),
+'tschindl' : ('Thomas Schindl', 'tschindl'),
+'wchoi' : ('wchoi', 'wchoi'),
+'winchest' : ('winchest', 'winchest'),
+'wmelhem' : ('wmelhem', 'wmelhem'),
+'yvyang' : ('Yves YANG', 'yvyang'),
 #    'jrandom' : ('J. Random', 'jrandom@example.com'),
 #    'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
 #    'brane' : (u'Branko Äibej', 'brane@xbc.nu'),
diff --git a/eclipse.platform.ui.e4/pass1/c2g_platform_ui.options b/eclipse.platform.ui.e4/pass1/c2g_platform_ui.options
index 225bd0c..040664c 100644
--- a/eclipse.platform.ui.e4/pass1/c2g_platform_ui.options
+++ b/eclipse.platform.ui.e4/pass1/c2g_platform_ui.options
@@ -511,76 +511,85 @@
 # to use with the author_transforms option of GitOutputOption below.
 author_transforms={
 
-'ahunter' : ('Anthony Hunter', 'ahunter@eclipse.org'),
-'airvine' : ('airvine', 'airvine@eclipse.org'),
-'aniefer' : ('Andrew Niefer', 'aniefer@eclipse.org'),
-'aweinand' : ('aweinand', 'aweinand@eclipse.org'),
-'bbiggs' : ('bbiggs', 'bbiggs@eclipse.org'),
-'bbokowski' : ('Boris Bokowski', 'bbokowski@eclipse.org'),
-'bcabe' : ('Benjamin Cabe', 'bcabe@eclipse.org'),
-'bdealwis' : ('Brian Dealwis', 'bdealwis@eclipse.org'),
-'breynolds' : ('breynolds', 'breynolds@eclipse.org'),
-'cdaniel' : ('Krzysztof Daniel', 'cdaniel@eclipse.org'),
-'cknaus' : ('cknaus', 'cknaus@eclipse.org'),
-'cmclaren' : ('cmclaren', 'cmclaren@eclipse.org'),
-'darins' : ('darins', 'darins@eclipse.org'),
-'davids' : ('davids', 'davids@eclipse.org'),
-'dejan' : ('dejan', 'dejan@eclipse.org'),
-'dmegert' : ('Dani Megert', 'dmegert@eclipse.org'),
-'dorme' : ('Dave Orme', 'dorme@eclipse.org'),
-'dpollock' : ('dpollock', 'dpollock@eclipse.org'),
-'droberts' : ('Dean Roberts', 'droberts@eclipse.org'),
-'dwilson' : ('dwilson', 'dwilson@eclipse.org'),
-'ebb' : ('Ed Burnette', 'ebb@eclipse.org'),
-'eduardo' : ('eduardo', 'eduardo@eclipse.org'),
-'eidsness' : ('eidsness', 'eidsness@eclipse.org'),
-'emoffatt' : ('Eric Moffatt', 'emoffatt@eclipse.org'),
-'fuptoniv' : ('Francis Upton IV', 'fuptoniv@eclipse.org'),
-'gheorghe' : ('Bogdan Gheorghe', 'gheorghe@eclipse.org'),
-'gmendel' : ('gmendel', 'gmendel@eclipse.org'),
-'gunnar' : ('Gunnar Wagenknecht', 'gunnar@eclipse.org'),
-'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal@eclipse.org'),
-'ikhelifi' : ('ikhelifi', 'ikhelifi@eclipse.org'),
-'jeem' : ('jeem', 'jeem@eclipse.org'),
-'jlebrun' : ('jlebrun', 'jlebrun@eclipse.org'),
-'jlemieux' : ('jlemieux', 'jlemieux@eclipse.org'),
-'johna' : ('John Arthorne', 'johna@eclipse.org'),
-'karice' : ('Karice McIntyre', 'karice@eclipse.org'),
-'kevinh' : ('kevinh', 'kevinh@eclipse.org'),
-'kevinm' : ('kevinm', 'kevinm@eclipse.org'),
-'khorne' : ('khorne', 'khorne@eclipse.org'),
-'kmaetzel' : ('kmaetzel', 'kmaetzel@eclipse.org'),
-'kmoir' : ('Kim Moir', 'kmoir@eclipse.org'),
-'kradloff' : ('kradloff', 'kradloff@eclipse.org'),
-'ktoedter' : ('Kai Toedter', 'ktoedter@eclipse.org'),
-'lkues' : ('lkues', 'lkues@eclipse.org'),
-'marcelop' : ('Marcelo Paternostro', 'marcelop@eclipse.org'),
-'melder' : ('melder', 'melder@eclipse.org'),
-'mhall' : ('Matthew Hall', 'mhall@eclipse.org'),
-'mhatem' : ('mhatem', 'mhatem@eclipse.org'),
-'mkeller' : ('Markus Keller', 'mkeller@eclipse.org'),
-'mvalenta' : ('mvalenta', 'mvalenta@eclipse.org'),
-'mvanmeek' : ('mvanmeek', 'mvanmeek@eclipse.org'),
-'nick' : ('Nick Edgar', 'nick@eclipse.org'),
-'obesedin' : ('Oleg Besedin', 'obesedin@eclipse.org'),
-'omallo' : ('Ovidio Mallo', 'omallo@eclipse.org'),
-'prangaraj' : ('Prakash Rangaraj', 'prangaraj@eclipse.org'),
-'pwebster' : ('Paul Webster', 'pwebster@eclipse.org'),
-'randyg' : ('randyg', 'randyg@eclipse.org'),
-'rherrmann' : ('Rudiger Herrmann', 'rherrmann@eclipse.org'),
-'rsternber' : ('Ralf Sternberg', 'rsternber@eclipse.org'),
-'rsuen' : ('Remy Suen', 'rsuen@eclipse.org'),
-'sarsenau' : ('sarsenau', 'sarsenau@eclipse.org'),
-'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp@eclipse.org'),
-'sbrandys' : ('Szymon Brandys', 'sbrandys@eclipse.org'),
-'sdimitro' : ('Sonia Dimitrov', 'sdimitro@eclipse.org'),
-'sfranklin' : ('Susan McCourt', 'sfranklin@eclipse.org'),
-'sxenos' : ('sxenos', 'sxenos@eclipse.org'),
-'tod' : ('Tod Creasey', 'tod@eclipse.org'),
-'tschindl' : ('Thomas Schindl', 'tschindl@eclipse.org'),
-'wchoi' : ('wchoi', 'wchoi@eclipse.org'),
-'winchest' : ('winchest', 'winchest@eclipse.org'),
-'yvyang' : ('Yves YANG', 'yvyang@eclipse.org'),
+'aarcher' : ('Adam Archer', 'aarcher'),
+'ahunter' : ('Anthony Hunter', 'ahunter'),
+'airvine' : ('airvine', 'airvine'),
+'aniefer' : ('Andrew Niefer', 'aniefer'),
+'aweinand' : ('aweinand', 'aweinand'),
+'bbiggs' : ('bbiggs', 'bbiggs'),
+'bbokowski' : ('Boris Bokowski', 'bbokowski'),
+'bcabe' : ('Benjamin Cabe', 'bcabe'),
+'bdealwis' : ('Brian Dealwis', 'bdealwis'),
+'bmuskalla' : ('Benjamin Muskalla', 'bmuskalla'),
+'breynolds' : ('breynolds', 'breynolds'),
+'caniszczyk' : ('Chris Aniszczyk', 'caniszczyk'),
+'cdaniel' : ('Krzysztof Daniel', 'cdaniel'),
+'cgoldthor' : ('Chris Goldthorpe', 'cgoldthor'),
+'cknaus' : ('cknaus', 'cknaus'),
+'cmclaren' : ('cmclaren', 'cmclaren'),
+'curtispd' : ('Curtis D'Entremont', 'curtispd'),
+'darins' : ('darins', 'darins'),
+'davids' : ('davids', 'davids'),
+'deboer' : ('Timothy Deboer', 'deboer'),
+'dejan' : ('dejan', 'dejan'),
+'dmegert' : ('Dani Megert', 'dmegert'),
+'dorme' : ('Dave Orme', 'dorme'),
+'dpollock' : ('dpollock', 'dpollock'),
+'droberts' : ('Dean Roberts', 'droberts'),
+'drubel' : ('Dan Rubel', 'drubel'),
+'dwilson' : ('dwilson', 'dwilson'),
+'ebb' : ('Ed Burnette', 'ebb'),
+'eduardo' : ('eduardo', 'eduardo'),
+'eidsness' : ('eidsness', 'eidsness'),
+'emoffatt' : ('Eric Moffatt', 'emoffatt'),
+'fuptoniv' : ('Francis Upton IV', 'fuptoniv'),
+'gheorghe' : ('Bogdan Gheorghe', 'gheorghe'),
+'gmendel' : ('gmendel', 'gmendel'),
+'gunnar' : ('Gunnar Wagenknecht', 'gunnar'),
+'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal'),
+'ikhelifi' : ('ikhelifi', 'ikhelifi'),
+'jeem' : ('jeem', 'jeem'),
+'jlebrun' : ('jlebrun', 'jlebrun'),
+'jlemieux' : ('jlemieux', 'jlemieux'),
+'johna' : ('John Arthorne', 'johna'),
+'karice' : ('Karice McIntyre', 'karice'),
+'kevinh' : ('kevinh', 'kevinh'),
+'kevinm' : ('kevinm', 'kevinm'),
+'khorne' : ('khorne', 'khorne'),
+'kmaetzel' : ('kmaetzel', 'kmaetzel'),
+'kmoir' : ('Kim Moir', 'kmoir'),
+'kradloff' : ('kradloff', 'kradloff'),
+'ktoedter' : ('Kai Toedter', 'ktoedter'),
+'lkues' : ('lkues', 'lkues'),
+'lvogel' : ('Lars Vogel', 'lvogel'),
+'marcelop' : ('Marcelo Paternostro', 'marcelop'),
+'melder' : ('melder', 'melder'),
+'mhall' : ('Matthew Hall', 'mhall'),
+'mhatem' : ('mhatem', 'mhatem'),
+'mkeller' : ('Markus Keller', 'mkeller'),
+'mvalenta' : ('mvalenta', 'mvalenta'),
+'mvanmeek' : ('mvanmeek', 'mvanmeek'),
+'nick' : ('Nick Edgar', 'nick'),
+'obesedin' : ('Oleg Besedin', 'obesedin'),
+'omallo' : ('Ovidio Mallo', 'omallo'),
+'prangaraj' : ('Prakash Rangaraj', 'prangaraj'),
+'pwebster' : ('Paul Webster', 'pwebster'),
+'randyg' : ('randyg', 'randyg'),
+'rherrmann' : ('Rudiger Herrmann', 'rherrmann'),
+'rsternber' : ('Ralf Sternberg', 'rsternber'),
+'rsuen' : ('Remy Suen', 'rsuen'),
+'sarsenau' : ('sarsenau', 'sarsenau'),
+'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp'),
+'sbrandys' : ('Szymon Brandys', 'sbrandys'),
+'sdimitro' : ('Sonia Dimitrov', 'sdimitro'),
+'sfranklin' : ('Susan Franklin', 'sfranklin'),
+'sxenos' : ('sxenos', 'sxenos'),
+'tod' : ('Tod Creasey', 'tod'),
+'tschindl' : ('Thomas Schindl', 'tschindl'),
+'wchoi' : ('wchoi', 'wchoi'),
+'winchest' : ('winchest', 'winchest'),
+'wmelhem' : ('wmelhem', 'wmelhem'),
+'yvyang' : ('Yves YANG', 'yvyang'),
 #    'jrandom' : ('J. Random', 'jrandom@example.com'),
 #    'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
 #    'brane' : (u'Branko Äibej', 'brane@xbc.nu'),
diff --git a/eclipse.platform.ui.e4/pass1/c2g_tools.options b/eclipse.platform.ui.e4/pass1/c2g_tools.options
index 1f4e7b6..c2d3f9d 100644
--- a/eclipse.platform.ui.e4/pass1/c2g_tools.options
+++ b/eclipse.platform.ui.e4/pass1/c2g_tools.options
@@ -511,76 +511,86 @@
 # to use with the author_transforms option of GitOutputOption below.
 author_transforms={
 
-'ahunter' : ('Anthony Hunter', 'ahunter@eclipse.org'),
-'airvine' : ('airvine', 'airvine@eclipse.org'),
-'aniefer' : ('Andrew Niefer', 'aniefer@eclipse.org'),
-'aweinand' : ('aweinand', 'aweinand@eclipse.org'),
-'bbiggs' : ('bbiggs', 'bbiggs@eclipse.org'),
-'bbokowski' : ('Boris Bokowski', 'bbokowski@eclipse.org'),
-'bcabe' : ('Benjamin Cabe', 'bcabe@eclipse.org'),
-'bdealwis' : ('Brian Dealwis', 'bdealwis@eclipse.org'),
-'breynolds' : ('breynolds', 'breynolds@eclipse.org'),
-'cdaniel' : ('Krzysztof Daniel', 'cdaniel@eclipse.org'),
-'cknaus' : ('cknaus', 'cknaus@eclipse.org'),
-'cmclaren' : ('cmclaren', 'cmclaren@eclipse.org'),
-'darins' : ('darins', 'darins@eclipse.org'),
-'davids' : ('davids', 'davids@eclipse.org'),
-'dejan' : ('dejan', 'dejan@eclipse.org'),
-'dmegert' : ('Dani Megert', 'dmegert@eclipse.org'),
-'dorme' : ('Dave Orme', 'dorme@eclipse.org'),
-'dpollock' : ('dpollock', 'dpollock@eclipse.org'),
-'droberts' : ('Dean Roberts', 'droberts@eclipse.org'),
-'dwilson' : ('dwilson', 'dwilson@eclipse.org'),
-'ebb' : ('Ed Burnette', 'ebb@eclipse.org'),
-'eduardo' : ('eduardo', 'eduardo@eclipse.org'),
-'eidsness' : ('eidsness', 'eidsness@eclipse.org'),
-'emoffatt' : ('Eric Moffatt', 'emoffatt@eclipse.org'),
-'fuptoniv' : ('Francis Upton IV', 'fuptoniv@eclipse.org'),
-'gheorghe' : ('Bogdan Gheorghe', 'gheorghe@eclipse.org'),
-'gmendel' : ('gmendel', 'gmendel@eclipse.org'),
-'gunnar' : ('Gunnar Wagenknecht', 'gunnar@eclipse.org'),
-'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal@eclipse.org'),
-'ikhelifi' : ('ikhelifi', 'ikhelifi@eclipse.org'),
-'jeem' : ('jeem', 'jeem@eclipse.org'),
-'jlebrun' : ('jlebrun', 'jlebrun@eclipse.org'),
-'jlemieux' : ('jlemieux', 'jlemieux@eclipse.org'),
-'johna' : ('John Arthorne', 'johna@eclipse.org'),
-'karice' : ('Karice McIntyre', 'karice@eclipse.org'),
-'kevinh' : ('kevinh', 'kevinh@eclipse.org'),
-'kevinm' : ('kevinm', 'kevinm@eclipse.org'),
-'khorne' : ('khorne', 'khorne@eclipse.org'),
-'kmaetzel' : ('kmaetzel', 'kmaetzel@eclipse.org'),
-'kmoir' : ('Kim Moir', 'kmoir@eclipse.org'),
-'kradloff' : ('kradloff', 'kradloff@eclipse.org'),
-'ktoedter' : ('Kai Toedter', 'ktoedter@eclipse.org'),
-'lkues' : ('lkues', 'lkues@eclipse.org'),
-'marcelop' : ('Marcelo Paternostro', 'marcelop@eclipse.org'),
-'melder' : ('melder', 'melder@eclipse.org'),
-'mhall' : ('Matthew Hall', 'mhall@eclipse.org'),
-'mhatem' : ('mhatem', 'mhatem@eclipse.org'),
-'mkeller' : ('Markus Keller', 'mkeller@eclipse.org'),
-'mvalenta' : ('mvalenta', 'mvalenta@eclipse.org'),
-'mvanmeek' : ('mvanmeek', 'mvanmeek@eclipse.org'),
-'nick' : ('Nick Edgar', 'nick@eclipse.org'),
-'obesedin' : ('Oleg Besedin', 'obesedin@eclipse.org'),
-'omallo' : ('Ovidio Mallo', 'omallo@eclipse.org'),
-'prangaraj' : ('Prakash Rangaraj', 'prangaraj@eclipse.org'),
-'pwebster' : ('Paul Webster', 'pwebster@eclipse.org'),
-'randyg' : ('randyg', 'randyg@eclipse.org'),
-'rherrmann' : ('Rudiger Herrmann', 'rherrmann@eclipse.org'),
-'rsternber' : ('Ralf Sternberg', 'rsternber@eclipse.org'),
-'rsuen' : ('Remy Suen', 'rsuen@eclipse.org'),
-'sarsenau' : ('sarsenau', 'sarsenau@eclipse.org'),
-'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp@eclipse.org'),
-'sbrandys' : ('Szymon Brandys', 'sbrandys@eclipse.org'),
-'sdimitro' : ('Sonia Dimitrov', 'sdimitro@eclipse.org'),
-'sfranklin' : ('Susan McCourt', 'sfranklin@eclipse.org'),
-'sxenos' : ('sxenos', 'sxenos@eclipse.org'),
-'tod' : ('Tod Creasey', 'tod@eclipse.org'),
-'tschindl' : ('Thomas Schindl', 'tschindl@eclipse.org'),
-'wchoi' : ('wchoi', 'wchoi@eclipse.org'),
-'winchest' : ('winchest', 'winchest@eclipse.org'),
-'yvyang' : ('Yves YANG', 'yvyang@eclipse.org'),
+'aarcher' : ('Adam Archer', 'aarcher'),
+'ahunter' : ('Anthony Hunter', 'ahunter'),
+'airvine' : ('airvine', 'airvine'),
+'aniefer' : ('Andrew Niefer', 'aniefer'),
+'aweinand' : ('aweinand', 'aweinand'),
+'bbiggs' : ('bbiggs', 'bbiggs'),
+'bbokowski' : ('Boris Bokowski', 'bbokowski'),
+'bcabe' : ('Benjamin Cabe', 'bcabe'),
+'bdealwis' : ('Brian Dealwis', 'bdealwis'),
+'bmuskalla' : ('Benjamin Muskalla', 'bmuskalla'),
+'breynolds' : ('breynolds', 'breynolds'),
+'caniszczyk' : ('Chris Aniszczyk', 'caniszczyk'),
+'cdaniel' : ('Krzysztof Daniel', 'cdaniel'),
+'cgoldthor' : ('Chris Goldthorpe', 'cgoldthor'),
+'cknaus' : ('cknaus', 'cknaus'),
+'cmclaren' : ('cmclaren', 'cmclaren'),
+'curtispd' : ('Curtis D'Entremont', 'curtispd'),
+'darins' : ('darins', 'darins'),
+'davids' : ('davids', 'davids'),
+'deboer' : ('Timothy Deboer', 'deboer'),
+'dejan' : ('dejan', 'dejan'),
+'dmegert' : ('Dani Megert', 'dmegert'),
+'dorme' : ('Dave Orme', 'dorme'),
+'dpollock' : ('dpollock', 'dpollock'),
+'droberts' : ('Dean Roberts', 'droberts'),
+'drubel' : ('Dan Rubel', 'drubel'),
+'dwilson' : ('dwilson', 'dwilson'),
+'ebb' : ('Ed Burnette', 'ebb'),
+'eduardo' : ('eduardo', 'eduardo'),
+'eidsness' : ('eidsness', 'eidsness'),
+'emoffatt' : ('Eric Moffatt', 'emoffatt'),
+'fuptoniv' : ('Francis Upton IV', 'fuptoniv'),
+'gheorghe' : ('Bogdan Gheorghe', 'gheorghe'),
+'gmendel' : ('gmendel', 'gmendel'),
+'gunnar' : ('Gunnar Wagenknecht', 'gunnar'),
+'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal'),
+'ikhelifi' : ('ikhelifi', 'ikhelifi'),
+'jeem' : ('jeem', 'jeem'),
+'jlebrun' : ('jlebrun', 'jlebrun'),
+'jlemieux' : ('jlemieux', 'jlemieux'),
+'johna' : ('John Arthorne', 'johna'),
+'karice' : ('Karice McIntyre', 'karice'),
+'kevinh' : ('kevinh', 'kevinh'),
+'kevinm' : ('kevinm', 'kevinm'),
+'khorne' : ('khorne', 'khorne'),
+'kmaetzel' : ('kmaetzel', 'kmaetzel'),
+'kmoir' : ('Kim Moir', 'kmoir'),
+'kradloff' : ('kradloff', 'kradloff'),
+'ktoedter' : ('Kai Toedter', 'ktoedter'),
+'lkues' : ('lkues', 'lkues'),
+'lvogel' : ('Lars Vogel', 'lvogel'),
+'marcelop' : ('Marcelo Paternostro', 'marcelop'),
+'melder' : ('melder', 'melder'),
+'mhall' : ('Matthew Hall', 'mhall'),
+'mhatem' : ('mhatem', 'mhatem'),
+'mkeller' : ('Markus Keller', 'mkeller'),
+'mvalenta' : ('mvalenta', 'mvalenta'),
+'mvanmeek' : ('mvanmeek', 'mvanmeek'),
+'nick' : ('Nick Edgar', 'nick'),
+'obesedin' : ('Oleg Besedin', 'obesedin'),
+'omallo' : ('Ovidio Mallo', 'omallo'),
+'prangaraj' : ('Prakash Rangaraj', 'prangaraj'),
+'pwebster' : ('Paul Webster', 'pwebster'),
+'randyg' : ('randyg', 'randyg'),
+'rherrmann' : ('Rudiger Herrmann', 'rherrmann'),
+'rsternber' : ('Ralf Sternberg', 'rsternber'),
+'rsuen' : ('Remy Suen', 'rsuen'),
+'sarsenau' : ('sarsenau', 'sarsenau'),
+'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp'),
+'sbrandys' : ('Szymon Brandys', 'sbrandys'),
+'sdimitro' : ('Sonia Dimitrov', 'sdimitro'),
+'sfranklin' : ('Susan Franklin', 'sfranklin'),
+'sxenos' : ('sxenos', 'sxenos'),
+'tod' : ('Tod Creasey', 'tod'),
+'tschindl' : ('Thomas Schindl', 'tschindl'),
+'wchoi' : ('wchoi', 'wchoi'),
+'winchest' : ('winchest', 'winchest'),
+'wmelhem' : ('wmelhem', 'wmelhem'),
+'yvyang' : ('Yves YANG', 'yvyang'),
+
 #    'jrandom' : ('J. Random', 'jrandom@example.com'),
 #    'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
 #    'brane' : (u'Branko Äibej', 'brane@xbc.nu'),
diff --git a/eclipse.platform.ui/pass1/cvs2git.options b/eclipse.platform.ui/pass1/cvs2git.options
index a823789..91b0344 100644
--- a/eclipse.platform.ui/pass1/cvs2git.options
+++ b/eclipse.platform.ui/pass1/cvs2git.options
@@ -511,76 +511,87 @@
 # to use with the author_transforms option of GitOutputOption below.
 author_transforms={
 
-'ahunter' : ('Anthony Hunter', 'ahunter@eclipse.org'),
-'airvine' : ('airvine', 'airvine@eclipse.org'),
-'aniefer' : ('Andrew Niefer', 'aniefer@eclipse.org'),
-'aweinand' : ('aweinand', 'aweinand@eclipse.org'),
-'bbiggs' : ('bbiggs', 'bbiggs@eclipse.org'),
-'bbokowski' : ('Boris Bokowski', 'bbokowski@eclipse.org'),
-'bcabe' : ('Benjamin Cabe', 'bcabe@eclipse.org'),
-'bdealwis' : ('Brian Dealwis', 'bdealwis@eclipse.org'),
-'breynolds' : ('breynolds', 'breynolds@eclipse.org'),
-'cdaniel' : ('Krzysztof Daniel', 'cdaniel@eclipse.org'),
-'cknaus' : ('cknaus', 'cknaus@eclipse.org'),
-'cmclaren' : ('cmclaren', 'cmclaren@eclipse.org'),
-'darins' : ('darins', 'darins@eclipse.org'),
-'davids' : ('davids', 'davids@eclipse.org'),
-'dejan' : ('dejan', 'dejan@eclipse.org'),
-'dmegert' : ('Dani Megert', 'dmegert@eclipse.org'),
-'dorme' : ('Dave Orme', 'dorme@eclipse.org'),
-'dpollock' : ('dpollock', 'dpollock@eclipse.org'),
-'droberts' : ('Dean Roberts', 'droberts@eclipse.org'),
-'dwilson' : ('dwilson', 'dwilson@eclipse.org'),
-'ebb' : ('Ed Burnette', 'ebb@eclipse.org'),
-'eduardo' : ('eduardo', 'eduardo@eclipse.org'),
-'eidsness' : ('eidsness', 'eidsness@eclipse.org'),
-'emoffatt' : ('Eric Moffatt', 'emoffatt@eclipse.org'),
-'fuptoniv' : ('Francis Upton IV', 'fuptoniv@eclipse.org'),
-'gheorghe' : ('Bogdan Gheorghe', 'gheorghe@eclipse.org'),
-'gmendel' : ('gmendel', 'gmendel@eclipse.org'),
-'gunnar' : ('Gunnar Wagenknecht', 'gunnar@eclipse.org'),
-'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal@eclipse.org'),
-'ikhelifi' : ('ikhelifi', 'ikhelifi@eclipse.org'),
-'jeem' : ('jeem', 'jeem@eclipse.org'),
-'jlebrun' : ('jlebrun', 'jlebrun@eclipse.org'),
-'jlemieux' : ('jlemieux', 'jlemieux@eclipse.org'),
-'johna' : ('John Arthorne', 'johna@eclipse.org'),
-'karice' : ('Karice McIntyre', 'karice@eclipse.org'),
-'kevinh' : ('kevinh', 'kevinh@eclipse.org'),
-'kevinm' : ('kevinm', 'kevinm@eclipse.org'),
-'khorne' : ('khorne', 'khorne@eclipse.org'),
-'kmaetzel' : ('kmaetzel', 'kmaetzel@eclipse.org'),
-'kmoir' : ('Kim Moir', 'kmoir@eclipse.org'),
-'kradloff' : ('kradloff', 'kradloff@eclipse.org'),
-'ktoedter' : ('Kai Toedter', 'ktoedter@eclipse.org'),
-'lkues' : ('lkues', 'lkues@eclipse.org'),
-'marcelop' : ('Marcelo Paternostro', 'marcelop@eclipse.org'),
-'melder' : ('melder', 'melder@eclipse.org'),
-'mhall' : ('Matthew Hall', 'mhall@eclipse.org'),
-'mhatem' : ('mhatem', 'mhatem@eclipse.org'),
-'mkeller' : ('Markus Keller', 'mkeller@eclipse.org'),
-'mvalenta' : ('mvalenta', 'mvalenta@eclipse.org'),
-'mvanmeek' : ('mvanmeek', 'mvanmeek@eclipse.org'),
-'nick' : ('Nick Edgar', 'nick@eclipse.org'),
-'obesedin' : ('Oleg Besedin', 'obesedin@eclipse.org'),
-'omallo' : ('Ovidio Mallo', 'omallo@eclipse.org'),
-'prangaraj' : ('Prakash Rangaraj', 'prangaraj@eclipse.org'),
-'pwebster' : ('Paul Webster', 'pwebster@eclipse.org'),
-'randyg' : ('randyg', 'randyg@eclipse.org'),
-'rherrmann' : ('Rudiger Herrmann', 'rherrmann@eclipse.org'),
-'rsternber' : ('Ralf Sternberg', 'rsternber@eclipse.org'),
-'rsuen' : ('Remy Suen', 'rsuen@eclipse.org'),
-'sarsenau' : ('sarsenau', 'sarsenau@eclipse.org'),
-'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp@eclipse.org'),
-'sbrandys' : ('Szymon Brandys', 'sbrandys@eclipse.org'),
-'sdimitro' : ('Sonia Dimitrov', 'sdimitro@eclipse.org'),
-'sfranklin' : ('Susan McCourt', 'sfranklin@eclipse.org'),
-'sxenos' : ('sxenos', 'sxenos@eclipse.org'),
-'tod' : ('Tod Creasey', 'tod@eclipse.org'),
-'tschindl' : ('Thomas Schindl', 'tschindl@eclipse.org'),
-'wchoi' : ('wchoi', 'wchoi@eclipse.org'),
-'winchest' : ('winchest', 'winchest@eclipse.org'),
-'yvyang' : ('Yves YANG', 'yvyang@eclipse.org'),
+
+'aarcher' : ('Adam Archer', 'aarcher'),
+'ahunter' : ('Anthony Hunter', 'ahunter'),
+'airvine' : ('airvine', 'airvine'),
+'aniefer' : ('Andrew Niefer', 'aniefer'),
+'aweinand' : ('aweinand', 'aweinand'),
+'bbiggs' : ('bbiggs', 'bbiggs'),
+'bbokowski' : ('Boris Bokowski', 'bbokowski'),
+'bcabe' : ('Benjamin Cabe', 'bcabe'),
+'bdealwis' : ('Brian Dealwis', 'bdealwis'),
+'bmuskalla' : ('Benjamin Muskalla', 'bmuskalla'),
+'breynolds' : ('breynolds', 'breynolds'),
+'caniszczyk' : ('Chris Aniszczyk', 'caniszczyk'),
+'cdaniel' : ('Krzysztof Daniel', 'cdaniel'),
+'cgoldthor' : ('Chris Goldthorpe', 'cgoldthor'),
+'cknaus' : ('cknaus', 'cknaus'),
+'cmclaren' : ('cmclaren', 'cmclaren'),
+'curtispd' : ('Curtis D'Entremont', 'curtispd'),
+'darins' : ('darins', 'darins'),
+'davids' : ('davids', 'davids'),
+'deboer' : ('Timothy Deboer', 'deboer'),
+'dejan' : ('dejan', 'dejan'),
+'dmegert' : ('Dani Megert', 'dmegert'),
+'dorme' : ('Dave Orme', 'dorme'),
+'dpollock' : ('dpollock', 'dpollock'),
+'droberts' : ('Dean Roberts', 'droberts'),
+'drubel' : ('Dan Rubel', 'drubel'),
+'dwilson' : ('dwilson', 'dwilson'),
+'ebb' : ('Ed Burnette', 'ebb'),
+'eduardo' : ('eduardo', 'eduardo'),
+'eidsness' : ('eidsness', 'eidsness'),
+'emoffatt' : ('Eric Moffatt', 'emoffatt'),
+'fuptoniv' : ('Francis Upton IV', 'fuptoniv'),
+'gheorghe' : ('Bogdan Gheorghe', 'gheorghe'),
+'gmendel' : ('gmendel', 'gmendel'),
+'gunnar' : ('Gunnar Wagenknecht', 'gunnar'),
+'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal'),
+'ikhelifi' : ('ikhelifi', 'ikhelifi'),
+'jeem' : ('jeem', 'jeem'),
+'jlebrun' : ('jlebrun', 'jlebrun'),
+'jlemieux' : ('jlemieux', 'jlemieux'),
+'johna' : ('John Arthorne', 'johna'),
+'karice' : ('Karice McIntyre', 'karice'),
+'kevinh' : ('kevinh', 'kevinh'),
+'kevinm' : ('kevinm', 'kevinm'),
+'khorne' : ('khorne', 'khorne'),
+'kmaetzel' : ('kmaetzel', 'kmaetzel'),
+'kmoir' : ('Kim Moir', 'kmoir'),
+'kradloff' : ('kradloff', 'kradloff'),
+'ktoedter' : ('Kai Toedter', 'ktoedter'),
+'lkues' : ('lkues', 'lkues'),
+'lvogel' : ('Lars Vogel', 'lvogel'),
+'marcelop' : ('Marcelo Paternostro', 'marcelop'),
+'melder' : ('melder', 'melder'),
+'mhall' : ('Matthew Hall', 'mhall'),
+'mhatem' : ('mhatem', 'mhatem'),
+'mkeller' : ('Markus Keller', 'mkeller'),
+'mvalenta' : ('mvalenta', 'mvalenta'),
+'mvanmeek' : ('mvanmeek', 'mvanmeek'),
+'nick' : ('Nick Edgar', 'nick'),
+'obesedin' : ('Oleg Besedin', 'obesedin'),
+'omallo' : ('Ovidio Mallo', 'omallo'),
+'prangaraj' : ('Prakash Rangaraj', 'prangaraj'),
+'pwebster' : ('Paul Webster', 'pwebster'),
+'randyg' : ('randyg', 'randyg'),
+'rherrmann' : ('Rudiger Herrmann', 'rherrmann'),
+'rsternber' : ('Ralf Sternberg', 'rsternber'),
+'rsuen' : ('Remy Suen', 'rsuen'),
+'sarsenau' : ('sarsenau', 'sarsenau'),
+'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp'),
+'sbrandys' : ('Szymon Brandys', 'sbrandys'),
+'sdimitro' : ('Sonia Dimitrov', 'sdimitro'),
+'sfranklin' : ('Susan Franklin', 'sfranklin'),
+'sxenos' : ('sxenos', 'sxenos'),
+'tod' : ('Tod Creasey', 'tod'),
+'tschindl' : ('Thomas Schindl', 'tschindl'),
+'wchoi' : ('wchoi', 'wchoi'),
+'winchest' : ('winchest', 'winchest'),
+'wmelhem' : ('wmelhem', 'wmelhem'),
+'yvyang' : ('Yves YANG', 'yvyang'),
+
 #    'jrandom' : ('J. Random', 'jrandom@example.com'),
 #    'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
 #    'brane' : (u'Branko Äibej', 'brane@xbc.nu'),
diff --git a/eclipse.platform.ui/pass2/cvs2git.options b/eclipse.platform.ui/pass2/cvs2git.options
index 9f6148c..64ead49 100644
--- a/eclipse.platform.ui/pass2/cvs2git.options
+++ b/eclipse.platform.ui/pass2/cvs2git.options
@@ -511,76 +511,87 @@
 # to use with the author_transforms option of GitOutputOption below.
 author_transforms={
 
-'ahunter' : ('Anthony Hunter', 'ahunter@eclipse.org'),
-'airvine' : ('airvine', 'airvine@eclipse.org'),
-'aniefer' : ('Andrew Niefer', 'aniefer@eclipse.org'),
-'aweinand' : ('aweinand', 'aweinand@eclipse.org'),
-'bbiggs' : ('bbiggs', 'bbiggs@eclipse.org'),
-'bbokowski' : ('Boris Bokowski', 'bbokowski@eclipse.org'),
-'bcabe' : ('Benjamin Cabe', 'bcabe@eclipse.org'),
-'bdealwis' : ('Brian Dealwis', 'bdealwis@eclipse.org'),
-'breynolds' : ('breynolds', 'breynolds@eclipse.org'),
-'cdaniel' : ('Krzysztof Daniel', 'cdaniel@eclipse.org'),
-'cknaus' : ('cknaus', 'cknaus@eclipse.org'),
-'cmclaren' : ('cmclaren', 'cmclaren@eclipse.org'),
-'darins' : ('darins', 'darins@eclipse.org'),
-'davids' : ('davids', 'davids@eclipse.org'),
-'dejan' : ('dejan', 'dejan@eclipse.org'),
-'dmegert' : ('Dani Megert', 'dmegert@eclipse.org'),
-'dorme' : ('Dave Orme', 'dorme@eclipse.org'),
-'dpollock' : ('dpollock', 'dpollock@eclipse.org'),
-'droberts' : ('Dean Roberts', 'droberts@eclipse.org'),
-'dwilson' : ('dwilson', 'dwilson@eclipse.org'),
-'ebb' : ('Ed Burnette', 'ebb@eclipse.org'),
-'eduardo' : ('eduardo', 'eduardo@eclipse.org'),
-'eidsness' : ('eidsness', 'eidsness@eclipse.org'),
-'emoffatt' : ('Eric Moffatt', 'emoffatt@eclipse.org'),
-'fuptoniv' : ('Francis Upton IV', 'fuptoniv@eclipse.org'),
-'gheorghe' : ('Bogdan Gheorghe', 'gheorghe@eclipse.org'),
-'gmendel' : ('gmendel', 'gmendel@eclipse.org'),
-'gunnar' : ('Gunnar Wagenknecht', 'gunnar@eclipse.org'),
-'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal@eclipse.org'),
-'ikhelifi' : ('ikhelifi', 'ikhelifi@eclipse.org'),
-'jeem' : ('jeem', 'jeem@eclipse.org'),
-'jlebrun' : ('jlebrun', 'jlebrun@eclipse.org'),
-'jlemieux' : ('jlemieux', 'jlemieux@eclipse.org'),
-'johna' : ('John Arthorne', 'johna@eclipse.org'),
-'karice' : ('Karice McIntyre', 'karice@eclipse.org'),
-'kevinh' : ('kevinh', 'kevinh@eclipse.org'),
-'kevinm' : ('kevinm', 'kevinm@eclipse.org'),
-'khorne' : ('khorne', 'khorne@eclipse.org'),
-'kmaetzel' : ('kmaetzel', 'kmaetzel@eclipse.org'),
-'kmoir' : ('Kim Moir', 'kmoir@eclipse.org'),
-'kradloff' : ('kradloff', 'kradloff@eclipse.org'),
-'ktoedter' : ('Kai Toedter', 'ktoedter@eclipse.org'),
-'lkues' : ('lkues', 'lkues@eclipse.org'),
-'marcelop' : ('Marcelo Paternostro', 'marcelop@eclipse.org'),
-'melder' : ('melder', 'melder@eclipse.org'),
-'mhall' : ('Matthew Hall', 'mhall@eclipse.org'),
-'mhatem' : ('mhatem', 'mhatem@eclipse.org'),
-'mkeller' : ('Markus Keller', 'mkeller@eclipse.org'),
-'mvalenta' : ('mvalenta', 'mvalenta@eclipse.org'),
-'mvanmeek' : ('mvanmeek', 'mvanmeek@eclipse.org'),
-'nick' : ('Nick Edgar', 'nick@eclipse.org'),
-'obesedin' : ('Oleg Besedin', 'obesedin@eclipse.org'),
-'omallo' : ('Ovidio Mallo', 'omallo@eclipse.org'),
-'prangaraj' : ('Prakash Rangaraj', 'prangaraj@eclipse.org'),
-'pwebster' : ('Paul Webster', 'pwebster@eclipse.org'),
-'randyg' : ('randyg', 'randyg@eclipse.org'),
-'rherrmann' : ('Rudiger Herrmann', 'rherrmann@eclipse.org'),
-'rsternber' : ('Ralf Sternberg', 'rsternber@eclipse.org'),
-'rsuen' : ('Remy Suen', 'rsuen@eclipse.org'),
-'sarsenau' : ('sarsenau', 'sarsenau@eclipse.org'),
-'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp@eclipse.org'),
-'sbrandys' : ('Szymon Brandys', 'sbrandys@eclipse.org'),
-'sdimitro' : ('Sonia Dimitrov', 'sdimitro@eclipse.org'),
-'sfranklin' : ('Susan McCourt', 'sfranklin@eclipse.org'),
-'sxenos' : ('sxenos', 'sxenos@eclipse.org'),
-'tod' : ('Tod Creasey', 'tod@eclipse.org'),
-'tschindl' : ('Thomas Schindl', 'tschindl@eclipse.org'),
-'wchoi' : ('wchoi', 'wchoi@eclipse.org'),
-'winchest' : ('winchest', 'winchest@eclipse.org'),
-'yvyang' : ('Yves YANG', 'yvyang@eclipse.org'),
+
+'aarcher' : ('Adam Archer', 'aarcher'),
+'ahunter' : ('Anthony Hunter', 'ahunter'),
+'airvine' : ('airvine', 'airvine'),
+'aniefer' : ('Andrew Niefer', 'aniefer'),
+'aweinand' : ('aweinand', 'aweinand'),
+'bbiggs' : ('bbiggs', 'bbiggs'),
+'bbokowski' : ('Boris Bokowski', 'bbokowski'),
+'bcabe' : ('Benjamin Cabe', 'bcabe'),
+'bdealwis' : ('Brian Dealwis', 'bdealwis'),
+'bmuskalla' : ('Benjamin Muskalla', 'bmuskalla'),
+'breynolds' : ('breynolds', 'breynolds'),
+'caniszczyk' : ('Chris Aniszczyk', 'caniszczyk'),
+'cdaniel' : ('Krzysztof Daniel', 'cdaniel'),
+'cgoldthor' : ('Chris Goldthorpe', 'cgoldthor'),
+'cknaus' : ('cknaus', 'cknaus'),
+'cmclaren' : ('cmclaren', 'cmclaren'),
+'curtispd' : ('Curtis D'Entremont', 'curtispd'),
+'darins' : ('darins', 'darins'),
+'davids' : ('davids', 'davids'),
+'deboer' : ('Timothy Deboer', 'deboer'),
+'dejan' : ('dejan', 'dejan'),
+'dmegert' : ('Dani Megert', 'dmegert'),
+'dorme' : ('Dave Orme', 'dorme'),
+'dpollock' : ('dpollock', 'dpollock'),
+'droberts' : ('Dean Roberts', 'droberts'),
+'drubel' : ('Dan Rubel', 'drubel'),
+'dwilson' : ('dwilson', 'dwilson'),
+'ebb' : ('Ed Burnette', 'ebb'),
+'eduardo' : ('eduardo', 'eduardo'),
+'eidsness' : ('eidsness', 'eidsness'),
+'emoffatt' : ('Eric Moffatt', 'emoffatt'),
+'fuptoniv' : ('Francis Upton IV', 'fuptoniv'),
+'gheorghe' : ('Bogdan Gheorghe', 'gheorghe'),
+'gmendel' : ('gmendel', 'gmendel'),
+'gunnar' : ('Gunnar Wagenknecht', 'gunnar'),
+'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal'),
+'ikhelifi' : ('ikhelifi', 'ikhelifi'),
+'jeem' : ('jeem', 'jeem'),
+'jlebrun' : ('jlebrun', 'jlebrun'),
+'jlemieux' : ('jlemieux', 'jlemieux'),
+'johna' : ('John Arthorne', 'johna'),
+'karice' : ('Karice McIntyre', 'karice'),
+'kevinh' : ('kevinh', 'kevinh'),
+'kevinm' : ('kevinm', 'kevinm'),
+'khorne' : ('khorne', 'khorne'),
+'kmaetzel' : ('kmaetzel', 'kmaetzel'),
+'kmoir' : ('Kim Moir', 'kmoir'),
+'kradloff' : ('kradloff', 'kradloff'),
+'ktoedter' : ('Kai Toedter', 'ktoedter'),
+'lkues' : ('lkues', 'lkues'),
+'lvogel' : ('Lars Vogel', 'lvogel'),
+'marcelop' : ('Marcelo Paternostro', 'marcelop'),
+'melder' : ('melder', 'melder'),
+'mhall' : ('Matthew Hall', 'mhall'),
+'mhatem' : ('mhatem', 'mhatem'),
+'mkeller' : ('Markus Keller', 'mkeller'),
+'mvalenta' : ('mvalenta', 'mvalenta'),
+'mvanmeek' : ('mvanmeek', 'mvanmeek'),
+'nick' : ('Nick Edgar', 'nick'),
+'obesedin' : ('Oleg Besedin', 'obesedin'),
+'omallo' : ('Ovidio Mallo', 'omallo'),
+'prangaraj' : ('Prakash Rangaraj', 'prangaraj'),
+'pwebster' : ('Paul Webster', 'pwebster'),
+'randyg' : ('randyg', 'randyg'),
+'rherrmann' : ('Rudiger Herrmann', 'rherrmann'),
+'rsternber' : ('Ralf Sternberg', 'rsternber'),
+'rsuen' : ('Remy Suen', 'rsuen'),
+'sarsenau' : ('sarsenau', 'sarsenau'),
+'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp'),
+'sbrandys' : ('Szymon Brandys', 'sbrandys'),
+'sdimitro' : ('Sonia Dimitrov', 'sdimitro'),
+'sfranklin' : ('Susan Franklin', 'sfranklin'),
+'sxenos' : ('sxenos', 'sxenos'),
+'tod' : ('Tod Creasey', 'tod'),
+'tschindl' : ('Thomas Schindl', 'tschindl'),
+'wchoi' : ('wchoi', 'wchoi'),
+'winchest' : ('winchest', 'winchest'),
+'wmelhem' : ('wmelhem', 'wmelhem'),
+'yvyang' : ('Yves YANG', 'yvyang'),
+
 #    'jrandom' : ('J. Random', 'jrandom@example.com'),
 #    'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
 #    'brane' : (u'Branko Äibej', 'brane@xbc.nu'),
diff --git a/scripts/author.ids b/scripts/author.ids
new file mode 100644
index 0000000..9809fcd
--- /dev/null
+++ b/scripts/author.ids
@@ -0,0 +1,79 @@
+aarcher
+ahunter
+airvine
+aniefer
+aweinand
+bbiggs
+bbokowski
+bcabe
+bdealwis
+bmuskalla
+breynolds
+caniszczyk
+cdaniel
+cgoldthor
+cknaus
+cmclaren
+curtispd
+darins
+davids
+deboer
+dejan
+dmegert
+dorme
+dpollock
+droberts
+drubel
+dwilson
+ebb
+eduardo
+eidsness
+emoffatt
+fuptoniv
+gheorghe
+gmendel
+gunnar
+hsoliwal
+ikhelifi
+jeem
+jlebrun
+jlemieux
+johna
+karice
+kevinh
+kevinm
+khorne
+kmaetzel
+kmoir
+kradloff
+ktoedter
+lkues
+lvogel
+marcelop
+melder
+mhall
+mhatem
+mkeller
+mvalenta
+mvanmeek
+nick
+obesedin
+omallo
+prangaraj
+pwebster
+randyg
+rherrmann
+rsternber
+rsuen
+sarsenau
+sbeauchamp
+sbrandys
+sdimitro
+sfranklin
+sxenos
+tod
+tschindl
+wchoi
+winchest
+wmelhem
+yvyang
diff --git a/scripts/author.py b/scripts/author.py
new file mode 100644
index 0000000..11bd23b
--- /dev/null
+++ b/scripts/author.py
@@ -0,0 +1,79 @@
+'aarcher' : ('Adam Archer', 'aarcher'),
+'ahunter' : ('Anthony Hunter', 'ahunter'),
+'airvine' : ('airvine', 'airvine'),
+'aniefer' : ('Andrew Niefer', 'aniefer'),
+'aweinand' : ('aweinand', 'aweinand'),
+'bbiggs' : ('bbiggs', 'bbiggs'),
+'bbokowski' : ('Boris Bokowski', 'bbokowski'),
+'bcabe' : ('Benjamin Cabe', 'bcabe'),
+'bdealwis' : ('Brian Dealwis', 'bdealwis'),
+'bmuskalla' : ('Benjamin Muskalla', 'bmuskalla'),
+'breynolds' : ('breynolds', 'breynolds'),
+'caniszczyk' : ('Chris Aniszczyk', 'caniszczyk'),
+'cdaniel' : ('Krzysztof Daniel', 'cdaniel'),
+'cgoldthor' : ('Chris Goldthorpe', 'cgoldthor'),
+'cknaus' : ('cknaus', 'cknaus'),
+'cmclaren' : ('cmclaren', 'cmclaren'),
+'curtispd' : ('Curtis D'Entremont', 'curtispd'),
+'darins' : ('darins', 'darins'),
+'davids' : ('davids', 'davids'),
+'deboer' : ('Timothy Deboer', 'deboer'),
+'dejan' : ('dejan', 'dejan'),
+'dmegert' : ('Dani Megert', 'dmegert'),
+'dorme' : ('Dave Orme', 'dorme'),
+'dpollock' : ('dpollock', 'dpollock'),
+'droberts' : ('Dean Roberts', 'droberts'),
+'drubel' : ('Dan Rubel', 'drubel'),
+'dwilson' : ('dwilson', 'dwilson'),
+'ebb' : ('Ed Burnette', 'ebb'),
+'eduardo' : ('eduardo', 'eduardo'),
+'eidsness' : ('eidsness', 'eidsness'),
+'emoffatt' : ('Eric Moffatt', 'emoffatt'),
+'fuptoniv' : ('Francis Upton IV', 'fuptoniv'),
+'gheorghe' : ('Bogdan Gheorghe', 'gheorghe'),
+'gmendel' : ('gmendel', 'gmendel'),
+'gunnar' : ('Gunnar Wagenknecht', 'gunnar'),
+'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal'),
+'ikhelifi' : ('ikhelifi', 'ikhelifi'),
+'jeem' : ('jeem', 'jeem'),
+'jlebrun' : ('jlebrun', 'jlebrun'),
+'jlemieux' : ('jlemieux', 'jlemieux'),
+'johna' : ('John Arthorne', 'johna'),
+'karice' : ('Karice McIntyre', 'karice'),
+'kevinh' : ('kevinh', 'kevinh'),
+'kevinm' : ('kevinm', 'kevinm'),
+'khorne' : ('khorne', 'khorne'),
+'kmaetzel' : ('kmaetzel', 'kmaetzel'),
+'kmoir' : ('Kim Moir', 'kmoir'),
+'kradloff' : ('kradloff', 'kradloff'),
+'ktoedter' : ('Kai Toedter', 'ktoedter'),
+'lkues' : ('lkues', 'lkues'),
+'lvogel' : ('Lars Vogel', 'lvogel'),
+'marcelop' : ('Marcelo Paternostro', 'marcelop'),
+'melder' : ('melder', 'melder'),
+'mhall' : ('Matthew Hall', 'mhall'),
+'mhatem' : ('mhatem', 'mhatem'),
+'mkeller' : ('Markus Keller', 'mkeller'),
+'mvalenta' : ('mvalenta', 'mvalenta'),
+'mvanmeek' : ('mvanmeek', 'mvanmeek'),
+'nick' : ('Nick Edgar', 'nick'),
+'obesedin' : ('Oleg Besedin', 'obesedin'),
+'omallo' : ('Ovidio Mallo', 'omallo'),
+'prangaraj' : ('Prakash Rangaraj', 'prangaraj'),
+'pwebster' : ('Paul Webster', 'pwebster'),
+'randyg' : ('randyg', 'randyg'),
+'rherrmann' : ('Rudiger Herrmann', 'rherrmann'),
+'rsternber' : ('Ralf Sternberg', 'rsternber'),
+'rsuen' : ('Remy Suen', 'rsuen'),
+'sarsenau' : ('sarsenau', 'sarsenau'),
+'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp'),
+'sbrandys' : ('Szymon Brandys', 'sbrandys'),
+'sdimitro' : ('Sonia Dimitrov', 'sdimitro'),
+'sfranklin' : ('Susan Franklin', 'sfranklin'),
+'sxenos' : ('sxenos', 'sxenos'),
+'tod' : ('Tod Creasey', 'tod'),
+'tschindl' : ('Thomas Schindl', 'tschindl'),
+'wchoi' : ('wchoi', 'wchoi'),
+'winchest' : ('winchest', 'winchest'),
+'wmelhem' : ('wmelhem', 'wmelhem'),
+'yvyang' : ('Yves YANG', 'yvyang'),
diff --git a/scripts/cvs2git_ui_and_e4.options b/scripts/cvs2git_ui_and_e4.options
index a823789..91b0344 100644
--- a/scripts/cvs2git_ui_and_e4.options
+++ b/scripts/cvs2git_ui_and_e4.options
@@ -511,76 +511,87 @@
 # to use with the author_transforms option of GitOutputOption below.
 author_transforms={
 
-'ahunter' : ('Anthony Hunter', 'ahunter@eclipse.org'),
-'airvine' : ('airvine', 'airvine@eclipse.org'),
-'aniefer' : ('Andrew Niefer', 'aniefer@eclipse.org'),
-'aweinand' : ('aweinand', 'aweinand@eclipse.org'),
-'bbiggs' : ('bbiggs', 'bbiggs@eclipse.org'),
-'bbokowski' : ('Boris Bokowski', 'bbokowski@eclipse.org'),
-'bcabe' : ('Benjamin Cabe', 'bcabe@eclipse.org'),
-'bdealwis' : ('Brian Dealwis', 'bdealwis@eclipse.org'),
-'breynolds' : ('breynolds', 'breynolds@eclipse.org'),
-'cdaniel' : ('Krzysztof Daniel', 'cdaniel@eclipse.org'),
-'cknaus' : ('cknaus', 'cknaus@eclipse.org'),
-'cmclaren' : ('cmclaren', 'cmclaren@eclipse.org'),
-'darins' : ('darins', 'darins@eclipse.org'),
-'davids' : ('davids', 'davids@eclipse.org'),
-'dejan' : ('dejan', 'dejan@eclipse.org'),
-'dmegert' : ('Dani Megert', 'dmegert@eclipse.org'),
-'dorme' : ('Dave Orme', 'dorme@eclipse.org'),
-'dpollock' : ('dpollock', 'dpollock@eclipse.org'),
-'droberts' : ('Dean Roberts', 'droberts@eclipse.org'),
-'dwilson' : ('dwilson', 'dwilson@eclipse.org'),
-'ebb' : ('Ed Burnette', 'ebb@eclipse.org'),
-'eduardo' : ('eduardo', 'eduardo@eclipse.org'),
-'eidsness' : ('eidsness', 'eidsness@eclipse.org'),
-'emoffatt' : ('Eric Moffatt', 'emoffatt@eclipse.org'),
-'fuptoniv' : ('Francis Upton IV', 'fuptoniv@eclipse.org'),
-'gheorghe' : ('Bogdan Gheorghe', 'gheorghe@eclipse.org'),
-'gmendel' : ('gmendel', 'gmendel@eclipse.org'),
-'gunnar' : ('Gunnar Wagenknecht', 'gunnar@eclipse.org'),
-'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal@eclipse.org'),
-'ikhelifi' : ('ikhelifi', 'ikhelifi@eclipse.org'),
-'jeem' : ('jeem', 'jeem@eclipse.org'),
-'jlebrun' : ('jlebrun', 'jlebrun@eclipse.org'),
-'jlemieux' : ('jlemieux', 'jlemieux@eclipse.org'),
-'johna' : ('John Arthorne', 'johna@eclipse.org'),
-'karice' : ('Karice McIntyre', 'karice@eclipse.org'),
-'kevinh' : ('kevinh', 'kevinh@eclipse.org'),
-'kevinm' : ('kevinm', 'kevinm@eclipse.org'),
-'khorne' : ('khorne', 'khorne@eclipse.org'),
-'kmaetzel' : ('kmaetzel', 'kmaetzel@eclipse.org'),
-'kmoir' : ('Kim Moir', 'kmoir@eclipse.org'),
-'kradloff' : ('kradloff', 'kradloff@eclipse.org'),
-'ktoedter' : ('Kai Toedter', 'ktoedter@eclipse.org'),
-'lkues' : ('lkues', 'lkues@eclipse.org'),
-'marcelop' : ('Marcelo Paternostro', 'marcelop@eclipse.org'),
-'melder' : ('melder', 'melder@eclipse.org'),
-'mhall' : ('Matthew Hall', 'mhall@eclipse.org'),
-'mhatem' : ('mhatem', 'mhatem@eclipse.org'),
-'mkeller' : ('Markus Keller', 'mkeller@eclipse.org'),
-'mvalenta' : ('mvalenta', 'mvalenta@eclipse.org'),
-'mvanmeek' : ('mvanmeek', 'mvanmeek@eclipse.org'),
-'nick' : ('Nick Edgar', 'nick@eclipse.org'),
-'obesedin' : ('Oleg Besedin', 'obesedin@eclipse.org'),
-'omallo' : ('Ovidio Mallo', 'omallo@eclipse.org'),
-'prangaraj' : ('Prakash Rangaraj', 'prangaraj@eclipse.org'),
-'pwebster' : ('Paul Webster', 'pwebster@eclipse.org'),
-'randyg' : ('randyg', 'randyg@eclipse.org'),
-'rherrmann' : ('Rudiger Herrmann', 'rherrmann@eclipse.org'),
-'rsternber' : ('Ralf Sternberg', 'rsternber@eclipse.org'),
-'rsuen' : ('Remy Suen', 'rsuen@eclipse.org'),
-'sarsenau' : ('sarsenau', 'sarsenau@eclipse.org'),
-'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp@eclipse.org'),
-'sbrandys' : ('Szymon Brandys', 'sbrandys@eclipse.org'),
-'sdimitro' : ('Sonia Dimitrov', 'sdimitro@eclipse.org'),
-'sfranklin' : ('Susan McCourt', 'sfranklin@eclipse.org'),
-'sxenos' : ('sxenos', 'sxenos@eclipse.org'),
-'tod' : ('Tod Creasey', 'tod@eclipse.org'),
-'tschindl' : ('Thomas Schindl', 'tschindl@eclipse.org'),
-'wchoi' : ('wchoi', 'wchoi@eclipse.org'),
-'winchest' : ('winchest', 'winchest@eclipse.org'),
-'yvyang' : ('Yves YANG', 'yvyang@eclipse.org'),
+
+'aarcher' : ('Adam Archer', 'aarcher'),
+'ahunter' : ('Anthony Hunter', 'ahunter'),
+'airvine' : ('airvine', 'airvine'),
+'aniefer' : ('Andrew Niefer', 'aniefer'),
+'aweinand' : ('aweinand', 'aweinand'),
+'bbiggs' : ('bbiggs', 'bbiggs'),
+'bbokowski' : ('Boris Bokowski', 'bbokowski'),
+'bcabe' : ('Benjamin Cabe', 'bcabe'),
+'bdealwis' : ('Brian Dealwis', 'bdealwis'),
+'bmuskalla' : ('Benjamin Muskalla', 'bmuskalla'),
+'breynolds' : ('breynolds', 'breynolds'),
+'caniszczyk' : ('Chris Aniszczyk', 'caniszczyk'),
+'cdaniel' : ('Krzysztof Daniel', 'cdaniel'),
+'cgoldthor' : ('Chris Goldthorpe', 'cgoldthor'),
+'cknaus' : ('cknaus', 'cknaus'),
+'cmclaren' : ('cmclaren', 'cmclaren'),
+'curtispd' : ('Curtis D'Entremont', 'curtispd'),
+'darins' : ('darins', 'darins'),
+'davids' : ('davids', 'davids'),
+'deboer' : ('Timothy Deboer', 'deboer'),
+'dejan' : ('dejan', 'dejan'),
+'dmegert' : ('Dani Megert', 'dmegert'),
+'dorme' : ('Dave Orme', 'dorme'),
+'dpollock' : ('dpollock', 'dpollock'),
+'droberts' : ('Dean Roberts', 'droberts'),
+'drubel' : ('Dan Rubel', 'drubel'),
+'dwilson' : ('dwilson', 'dwilson'),
+'ebb' : ('Ed Burnette', 'ebb'),
+'eduardo' : ('eduardo', 'eduardo'),
+'eidsness' : ('eidsness', 'eidsness'),
+'emoffatt' : ('Eric Moffatt', 'emoffatt'),
+'fuptoniv' : ('Francis Upton IV', 'fuptoniv'),
+'gheorghe' : ('Bogdan Gheorghe', 'gheorghe'),
+'gmendel' : ('gmendel', 'gmendel'),
+'gunnar' : ('Gunnar Wagenknecht', 'gunnar'),
+'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal'),
+'ikhelifi' : ('ikhelifi', 'ikhelifi'),
+'jeem' : ('jeem', 'jeem'),
+'jlebrun' : ('jlebrun', 'jlebrun'),
+'jlemieux' : ('jlemieux', 'jlemieux'),
+'johna' : ('John Arthorne', 'johna'),
+'karice' : ('Karice McIntyre', 'karice'),
+'kevinh' : ('kevinh', 'kevinh'),
+'kevinm' : ('kevinm', 'kevinm'),
+'khorne' : ('khorne', 'khorne'),
+'kmaetzel' : ('kmaetzel', 'kmaetzel'),
+'kmoir' : ('Kim Moir', 'kmoir'),
+'kradloff' : ('kradloff', 'kradloff'),
+'ktoedter' : ('Kai Toedter', 'ktoedter'),
+'lkues' : ('lkues', 'lkues'),
+'lvogel' : ('Lars Vogel', 'lvogel'),
+'marcelop' : ('Marcelo Paternostro', 'marcelop'),
+'melder' : ('melder', 'melder'),
+'mhall' : ('Matthew Hall', 'mhall'),
+'mhatem' : ('mhatem', 'mhatem'),
+'mkeller' : ('Markus Keller', 'mkeller'),
+'mvalenta' : ('mvalenta', 'mvalenta'),
+'mvanmeek' : ('mvanmeek', 'mvanmeek'),
+'nick' : ('Nick Edgar', 'nick'),
+'obesedin' : ('Oleg Besedin', 'obesedin'),
+'omallo' : ('Ovidio Mallo', 'omallo'),
+'prangaraj' : ('Prakash Rangaraj', 'prangaraj'),
+'pwebster' : ('Paul Webster', 'pwebster'),
+'randyg' : ('randyg', 'randyg'),
+'rherrmann' : ('Rudiger Herrmann', 'rherrmann'),
+'rsternber' : ('Ralf Sternberg', 'rsternber'),
+'rsuen' : ('Remy Suen', 'rsuen'),
+'sarsenau' : ('sarsenau', 'sarsenau'),
+'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp'),
+'sbrandys' : ('Szymon Brandys', 'sbrandys'),
+'sdimitro' : ('Sonia Dimitrov', 'sdimitro'),
+'sfranklin' : ('Susan Franklin', 'sfranklin'),
+'sxenos' : ('sxenos', 'sxenos'),
+'tod' : ('Tod Creasey', 'tod'),
+'tschindl' : ('Thomas Schindl', 'tschindl'),
+'wchoi' : ('wchoi', 'wchoi'),
+'winchest' : ('winchest', 'winchest'),
+'wmelhem' : ('wmelhem', 'wmelhem'),
+'yvyang' : ('Yves YANG', 'yvyang'),
+
 #    'jrandom' : ('J. Random', 'jrandom@example.com'),
 #    'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
 #    'brane' : (u'Branko Äibej', 'brane@xbc.nu'),
diff --git a/scripts/e4_ui_prep.txt b/scripts/e4_ui_prep.txt
index 5640fd7..a45a05a 100644
--- a/scripts/e4_ui_prep.txt
+++ b/scripts/e4_ui_prep.txt
@@ -36,6 +36,8 @@
 # clean the CVS repo of links
   for f in cvsroot.e4.* ; do find $f -type l|xargs -n 1 rm; done
 
+# Make sure the author IDs in the options files are up to date.
+
 # for this test, I stayed on build.eclipse.org
 # can be done on a local machine, if you cp the cvsroot over.
 
@@ -53,7 +55,7 @@
 
 # run the cvs2git tool
   rm -rf cvs2svn-tmp
-  cvs2svn-trunk/cvs2git --options=eclipse.platform.ui.e4/pass1/c2g_compat.options
+  cvs2svn-trunk/cvs2git --options=org.eclipse.migration/eclipse.platform.ui.e4/pass1/c2g_compat.options
 
 # create a git repo
   git init --shared eclipse.platform.ui.compat
diff --git a/scripts/pui.options b/scripts/pui.options
deleted file mode 100644
index e1745e7..0000000
--- a/scripts/pui.options
+++ /dev/null
@@ -1,683 +0,0 @@
-# (Be in -*- mode: python; coding: utf-8 -*- mode.)
-#
-# ====================================================================
-# Copyright (c) 2006-2010 CollabNet.  All rights reserved.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution.  The terms
-# are also available at http://subversion.tigris.org/license-1.html.
-# If newer versions of this license are posted there, you may use a
-# newer version instead, at your option.
-#
-# This software consists of voluntary contributions made by many
-# individuals.  For exact contribution history, see the revision
-# history and logs, available at http://cvs2svn.tigris.org/.
-# ====================================================================
-
-#                  #####################
-#                  ## PLEASE READ ME! ##
-#                  #####################
-#
-# This is a template for an options file that can be used to configure
-# cvs2svn to convert to git rather than to Subversion.  See
-# www/cvs2git.html and www/cvs2svn.html for general information, and
-# see the comments in this file for information about what options are
-# available and how they can be set.
-#
-# The program that is run to convert from CVS to git is called
-# cvs2git.  Run it with the --options option, passing it this file
-# like this:
-#
-#     cvs2git --options=cvs2git-example.options
-#
-# The output of cvs2git is a blob file and a dump file that can be
-# loaded into git using the "git fast-import" command.  Please read
-# www/cvs2git.html for more information.
-#
-# Many options do not have defaults, so it is easier to copy this file
-# and modify what you need rather than creating a new options file
-# from scratch.  This file is in Python syntax, but you don't need to
-# know Python to modify it.  But if you *do* know Python, then you
-# will be happy to know that you can use arbitary Python constructs to
-# do fancy configuration tricks.
-#
-# But please be aware of the following:
-#
-# * In many places, leading whitespace is significant in Python (it is
-#   used instead of curly braces to group statements together).
-#   Therefore, if you don't know what you are doing, it is best to
-#   leave the whitespace as it is.
-#
-# * In normal strings, Python treats a backslash ("\") as an escape
-#   character.  Therefore, if you want to specify a string that
-#   contains a backslash, you need either to escape the backslash with
-#   another backslash ("\\"), or use a "raw string", as in one if the
-#   following equivalent examples:
-#
-#       cvs_executable = 'c:\\windows\\system32\\cvs.exe'
-#       cvs_executable = r'c:\windows\system32\cvs.exe'
-#
-#   See http://docs.python.org/tutorial/introduction.html#strings for
-#   more information.
-#
-# Two identifiers will have been defined before this file is executed,
-# and can be used freely within this file:
-#
-#     ctx -- a Ctx object (see cvs2svn_lib/context.py), which holds
-#         many configuration options
-#
-#     run_options -- an instance of the GitRunOptions class (see
-#         cvs2svn_lib/git_run_options.py), which holds some variables
-#         governing how cvs2git is run
-
-
-# Import some modules that are used in setting the options:
-import os
-
-from cvs2svn_lib import config
-from cvs2svn_lib import changeset_database
-from cvs2svn_lib.common import CVSTextDecoder
-from cvs2svn_lib.log import logger
-from cvs2svn_lib.project import Project
-from cvs2svn_lib.git_revision_collector import GitRevisionCollector
-from cvs2svn_lib.external_blob_generator import ExternalBlobGenerator
-from cvs2svn_lib.git_output_option import GitRevisionMarkWriter
-from cvs2svn_lib.git_output_option import GitOutputOption
-from cvs2svn_lib.dvcs_common import KeywordHandlingPropertySetter
-from cvs2svn_lib.revision_manager import NullRevisionCollector
-from cvs2svn_lib.rcs_revision_manager import RCSRevisionReader
-from cvs2svn_lib.cvs_revision_manager import CVSRevisionReader
-from cvs2svn_lib.symbol_strategy import AllBranchRule
-from cvs2svn_lib.symbol_strategy import AllTagRule
-from cvs2svn_lib.symbol_strategy import BranchIfCommitsRule
-from cvs2svn_lib.symbol_strategy import ExcludeRegexpStrategyRule
-from cvs2svn_lib.symbol_strategy import ForceBranchRegexpStrategyRule
-from cvs2svn_lib.symbol_strategy import ForceTagRegexpStrategyRule
-from cvs2svn_lib.symbol_strategy import ExcludeTrivialImportBranchRule
-from cvs2svn_lib.symbol_strategy import ExcludeVendorBranchRule
-from cvs2svn_lib.symbol_strategy import HeuristicStrategyRule
-from cvs2svn_lib.symbol_strategy import UnambiguousUsageRule
-from cvs2svn_lib.symbol_strategy import HeuristicPreferredParentRule
-from cvs2svn_lib.symbol_strategy import SymbolHintsFileRule
-from cvs2svn_lib.symbol_transform import ReplaceSubstringsSymbolTransform
-from cvs2svn_lib.symbol_transform import RegexpSymbolTransform
-from cvs2svn_lib.symbol_transform import IgnoreSymbolTransform
-from cvs2svn_lib.symbol_transform import NormalizePathsSymbolTransform
-from cvs2svn_lib.property_setters import AutoPropsPropertySetter
-from cvs2svn_lib.property_setters import ConditionalPropertySetter
-from cvs2svn_lib.property_setters import cvs_file_is_binary
-from cvs2svn_lib.property_setters import CVSBinaryFileDefaultMimeTypeSetter
-from cvs2svn_lib.property_setters import CVSBinaryFileEOLStyleSetter
-from cvs2svn_lib.property_setters import DefaultEOLStyleSetter
-from cvs2svn_lib.property_setters import EOLStyleFromMimeTypeSetter
-from cvs2svn_lib.property_setters import ExecutablePropertySetter
-from cvs2svn_lib.property_setters import KeywordsPropertySetter
-from cvs2svn_lib.property_setters import MimeMapper
-from cvs2svn_lib.property_setters import SVNBinaryFileKeywordsPropertySetter
-
-# To choose the level of logging output, uncomment one of the
-# following lines:
-#logger.log_level = logger.WARN
-#logger.log_level = logger.QUIET
-logger.log_level = logger.NORMAL
-#logger.log_level = logger.VERBOSE
-#logger.log_level = logger.DEBUG
-
-
-# The directory to use for temporary files:
-ctx.tmpdir = r'cvs2svn-tmp'
-
-# During FilterSymbolsPass, cvs2git records the contents of file
-# revisions into a "blob" file in git-fast-import format.  The
-# ctx.revision_collector option configures that process.  Choose one of the two ersions and customize its options.
-
-# This first alternative is much slower but is better tested and has a
-# chance of working with CVSNT repositories.  It invokes CVS or RCS to
-# reconstuct the contents of CVS file revisions:
-#ctx.revision_collector = GitRevisionCollector(
-    # The file in which to write the git-fast-import stream that
-    # contains the file revision contents:
-#    'cvs2svn-tmp/git-blob.dat',
-
-    # The following option specifies how the revision contents of the
-    # RCS files should be read.
-    #
-    # RCSRevisionReader uses RCS's "co" program to extract the
-    # revision contents of the RCS files during CollectRevsPass.  The
-    # constructor argument specifies how to invoke the "co"
-    # executable.
-    #
-    # CVSRevisionReader uses the "cvs" program to extract the revision
-    # contents out of the RCS files during OutputPass.  This option is
-    # considerably slower than RCSRevisionReader because "cvs" is
-    # considerably slower than "co".  However, it works in some
-    # situations where RCSRevisionReader fails; see the HTML
-    # documentation of the "--use-cvs" option for details.  The
-    # constructor argument specifies how to invoke the "co"
-    # executable.
-    #
-    # Uncomment one of the two following lines:
-    #RCSRevisionReader(co_executable=r'co'),
-#    CVSRevisionReader(cvs_executable=r'cvs'),
-#    )
-# This second alternative is vastly faster than the version above.  It
-# uses an external Python program to reconstruct the contents of CVS
-# file revisions:
-ctx.revision_collector = ExternalBlobGenerator('cvs2svn-tmp/git-blob.dat')
-
-# cvs2git doesn't need a revision reader because OutputPass only
-# refers to blobs that were output during CollectRevsPass, so leave
-# this option set to None.
-ctx.revision_reader = None
-
-# Change the following line to True if the conversion should only
-# include the trunk of the repository (i.e., all branches and tags
-# should be omitted from the conversion):
-ctx.trunk_only = False
-
-# How to convert CVS author names, log messages, and filenames to
-# Unicode.  The first argument to CVSTextDecoder is a list of encoders
-# that are tried in order in 'strict' mode until one of them succeeds.
-# If none of those succeeds, then fallback_encoder (if it is
-# specified) is used in lossy 'replace' mode.  Setting a fallback
-# encoder ensures that the encoder always succeeds, but it can cause
-# information loss.
-ctx.cvs_author_decoder = CVSTextDecoder(
-    [
-        'utf8',
-        'latin1',
-        'ascii',
-        ],
-    #fallback_encoding='ascii'
-    )
-ctx.cvs_log_decoder = CVSTextDecoder(
-    [
-        'utf8',
-        'latin1',
-        'ascii',
-        ],
-    #fallback_encoding='ascii',
-    eol_fix='\n',
-    )
-# You might want to be especially strict when converting filenames to
-# Unicode (e.g., maybe not specify a fallback_encoding).
-ctx.cvs_filename_decoder = CVSTextDecoder(
-    [
-        #'utf8',
-        #'latin1',
-        'ascii',
-        ],
-    #fallback_encoding='ascii'
-    )
-
-# Template for the commit message to be used for initial project
-# commits.
-ctx.initial_project_commit_message = (
-    'Standard project directories initialized by cvs2svn.'
-    )
-
-# Template for the commit message to be used for post commits, in
-# which modifications to a vendor branch are copied back to trunk.
-# This message can use '%(revnum)d' to include the SVN revision number
-# of the revision that included the change to the vendor branch
-# (admittedly rather pointless in a cvs2git conversion).
-ctx.post_commit_message = (
-    'This commit was generated by cvs2svn to track changes on a CVS '
-    'vendor branch.'
-    )
-
-# Template for the commit message to be used for commits in which
-# symbols are created.  This message can use '%(symbol_type)s' to
-# include the type of the symbol ('branch' or 'tag') or
-# '%(symbol_name)s' to include the name of the symbol.
-ctx.symbol_commit_message = (
-    "This commit was manufactured by cvs2svn to create %(symbol_type)s "
-    "'%(symbol_name)s'."
-    )
-
-# Template for the commit message to be used for commits in which
-# tags are pseudo-merged back to their source branch.  This message can
-# use '%(symbol_name)s' to include the name of the symbol.
-# (Not used by default unless you enable tie_tag_fixup_branches on
-# GitOutputOption.)
-ctx.tie_tag_ancestry_message = (
-    "This commit was manufactured by cvs2svn to tie ancestry for "
-    "tag '%(symbol_name)s' back to the source branch."
-    )
-
-# Some CVS clients for MacOS store resource fork data into CVS along
-# with the file contents itself by wrapping it all up in a container
-# format called "AppleSingle".  Subversion currently does not support
-# MacOS resource forks.  Nevertheless, sometimes the resource fork
-# information is not necessary and can be discarded.  Set the
-# following option to True if you would like cvs2svn to identify files
-# whose contents are encoded in AppleSingle format, and discard all
-# but the data fork for such files before committing them to
-# Subversion.  (Please note that AppleSingle contents are identified
-# by the AppleSingle magic number as the first four bytes of the file.
-# This check is not failproof, so only set this option if you think
-# you need it.)
-ctx.decode_apple_single = False
-
-# This option can be set to the name of a filename to which are stored
-# statistics and conversion decisions about the CVS symbols.
-#ctx.symbol_info_filename = None
-ctx.symbol_info_filename = 'symbol-info.txt'
-
-# cvs2svn uses "symbol strategy rules" to help decide how to handle
-# CVS symbols.  The rules in a project's symbol_strategy_rules are
-# applied in order, and each rule is allowed to modify the symbol.
-# The result (after each of the rules has been applied) is used for
-# the conversion.
-#
-# 1. A CVS symbol might be used as a tag in one file and as a branch
-#    in another file.  cvs2svn has to decide whether to convert such a
-#    symbol as a tag or as a branch.  cvs2svn uses a series of
-#    heuristic rules to decide how to convert a symbol.  The user can
-#    override the default rules for specific symbols or symbols
-#    matching regular expressions.
-#
-# 2. cvs2svn is also capable of excluding symbols from the conversion
-#    (provided no other symbols depend on them.
-#
-# 3. CVS does not record unambiguously the line of development from
-#    which a symbol sprouted.  cvs2svn uses a heuristic to choose a
-#    symbol's "preferred parents".
-#
-# The standard branch/tag/exclude StrategyRules do not change a symbol
-# that has already been processed by an earlier rule, so in effect the
-# first matching rule is the one that is used.
-
-global_symbol_strategy_rules = [
-    # It is possible to specify manually exactly how symbols should be
-    # converted and what line of development should be used as the
-    # preferred parent.  To do so, create a file containing the symbol
-    # hints and enable the following option.
-    #
-    # The format of the hints file is described in the documentation
-    # for the --symbol-hints command-line option.  The file output by
-    # the --write-symbol-info (i.e., ctx.symbol_info_filename) option
-    # is in the same format.  The simplest way to use this option is
-    # to run the conversion through CollateSymbolsPass with
-    # --write-symbol-info option, copy the symbol info and edit it to
-    # create a hints file, then re-start the conversion at
-    # CollateSymbolsPass with this option enabled.
-    #SymbolHintsFileRule('symbol-hints2.txt'),
-
-    # To force all symbols matching a regular expression to be
-    # converted as branches, add rules like the following:
-    #ForceBranchRegexpStrategyRule(r'branch.*'),
-
-    # To force all symbols matching a regular expression to be
-    # converted as tags, add rules like the following:
-    #ForceTagRegexpStrategyRule(r'tag.*'),
-
-    # To force all symbols matching a regular expression to be
-    # excluded from the conversion, add rules like the following:
-    #ExcludeRegexpStrategyRule(r'unknown-.*'),
-
-    # Sometimes people use "cvs import" to get their own source code
-    # into CVS.  This practice creates a vendor branch 1.1.1 and
-    # imports the code onto the vendor branch as 1.1.1.1, then copies
-    # the same content to the trunk as version 1.1.  Normally, such
-    # vendor branches are useless and they complicate the SVN history
-    # unnecessarily.  The following rule excludes any branches that
-    # only existed as a vendor branch with a single import (leaving
-    # only the 1.1 revision).  If you want to retain such branches,
-    # comment out the following line.  (Please note that this rule
-    # does not exclude vendor *tags*, as they are not so easy to
-    # identify.)
-    ExcludeTrivialImportBranchRule(),
-
-    # To exclude all vendor branches (branches that had "cvs import"s
-    # on them but no other kinds of commits), uncomment the following
-    # line:
-    #ExcludeVendorBranchRule(),
-
-    # Usually you want this rule, to convert unambiguous symbols
-    # (symbols that were only ever used as tags or only ever used as
-    # branches in CVS) the same way they were used in CVS:
-    UnambiguousUsageRule(),
-
-    # If there was ever a commit on a symbol, then it cannot be
-    # converted as a tag.  This rule causes all such symbols to be
-    # converted as branches.  If you would like to resolve such
-    # ambiguities manually, comment out the following line:
-    BranchIfCommitsRule(),
-
-    # Last in the list can be a catch-all rule that is used for
-    # symbols that were not matched by any of the more specific rules
-    # above.  (Assuming that BranchIfCommitsRule() was included above,
-    # then the symbols that are still indeterminate at this point can
-    # sensibly be converted as branches or tags.)  Include at most one
-    # of these lines.  If none of these catch-all rules are included,
-    # then the presence of any ambiguous symbols (that haven't been
-    # disambiguated above) is an error:
-
-    # Convert ambiguous symbols based on whether they were used more
-    # often as branches or as tags:
-    HeuristicStrategyRule(),
-    # Convert all ambiguous symbols as branches:
-    #AllBranchRule(),
-    # Convert all ambiguous symbols as tags:
-    #AllTagRule(),
-
-    # The last rule is here to choose the preferred parent of branches
-    # and tags, that is, the line of development from which the symbol
-    # sprouts.
-    HeuristicPreferredParentRule(),
-    ]
-
-# Specify a username to be used for commits for which CVS doesn't
-# record the original author (for example, the creation of a branch).
-# This should be a simple (unix-style) username, but it can be
-# translated into a git-style name by the author_transforms map.
-ctx.username = 'cvs2svn'
-
-# ctx.file_property_setters and ctx.revision_property_setters contain
-# rules used to set the svn properties on files in the converted
-# archive.  For each file, the rules are tried one by one.  Any rule
-# can add or suppress one or more svn properties.  Typically the rules
-# will not overwrite properties set by a previous rule (though they
-# are free to do so).  ctx.file_property_setters should be used for
-# properties that remain the same for the life of the file; these
-# should implement FilePropertySetter.  ctx.revision_property_setters
-# should be used for properties that are allowed to vary from revision
-# to revision; these should implement RevisionPropertySetter.
-#
-# Obviously, SVN properties per se are not interesting for a cvs2git
-# conversion, but some of these properties have side-effects that do
-# affect the git output.  FIXME: Document this in more detail.
-ctx.file_property_setters.extend([
-    # To read auto-props rules from a file, uncomment the following line
-    # and specify a filename.  The boolean argument specifies whether
-    # case should be ignored when matching filenames to the filename
-    # patterns found in the auto-props file:
-    #AutoPropsPropertySetter(
-    #    r'/home/username/.subversion/config',
-    #    ignore_case=True,
-    #    ),
-
-    # To read mime types from a file and use them to set svn:mime-type
-    # based on the filename extensions, uncomment the following line
-    # and specify a filename (see
-    # http://en.wikipedia.org/wiki/Mime.types for information about
-    # mime.types files):
-    #MimeMapper(r'/etc/mime.types', ignore_case=False),
-
-    # Omit the svn:eol-style property from any files that are listed
-    # as binary (i.e., mode '-kb') in CVS:
-    CVSBinaryFileEOLStyleSetter(),
-
-    # If the file is binary and its svn:mime-type property is not yet
-    # set, set svn:mime-type to 'application/octet-stream'.
-    CVSBinaryFileDefaultMimeTypeSetter(),
-
-    # To try to determine the eol-style from the mime type, uncomment
-    # the following line:
-    #EOLStyleFromMimeTypeSetter(),
-
-    # Choose one of the following lines to set the default
-    # svn:eol-style if none of the above rules applied.  The argument
-    # is the svn:eol-style that should be applied, or None if no
-    # svn:eol-style should be set (i.e., the file should be treated as
-    # binary).
-    #
-    # The default is to treat all files as binary unless one of the
-    # previous rules has determined otherwise, because this is the
-    # safest approach.  However, if you have been diligent about
-    # marking binary files with -kb in CVS and/or you have used the
-    # above rules to definitely mark binary files as binary, then you
-    # might prefer to use 'native' as the default, as it is usually
-    # the most convenient setting for text files.  Other possible
-    # options: 'CRLF', 'CR', 'LF'.
-    DefaultEOLStyleSetter(None),
-    #DefaultEOLStyleSetter('native'),
-
-    # Prevent svn:keywords from being set on files that have
-    # svn:eol-style unset.
-    SVNBinaryFileKeywordsPropertySetter(),
-
-    # If svn:keywords has not been set yet, set it based on the file's
-    # CVS mode:
-    KeywordsPropertySetter(config.SVN_KEYWORDS_VALUE),
-
-    # Set the svn:executable flag on any files that are marked in CVS as
-    # being executable:
-    ExecutablePropertySetter(),
-
-    # The following causes keywords to be untouched in binary files and
-    # collapsed in all text to be committed:
-    ConditionalPropertySetter(
-        cvs_file_is_binary, KeywordHandlingPropertySetter('untouched'),
-        ),
-    KeywordHandlingPropertySetter('collapsed'),
-
-    ])
-ctx.revision_property_setters.extend([
-    ])
-
-# To skip the cleanup of temporary files, uncomment the following
-# option:
-ctx.skip_cleanup = True
-
-
-# In CVS, it is perfectly possible to make a single commit that
-# affects more than one project or more than one branch of a single
-# project.  Subversion also allows such commits.  Therefore, by
-# default, when cvs2svn sees what looks like a cross-project or
-# cross-branch CVS commit, it converts it into a
-# cross-project/cross-branch Subversion commit.
-#
-# However, other tools and SCMs have trouble representing
-# cross-project or cross-branch commits.  (For example, Trac's Revtree
-# plugin, http://www.trac-hacks.org/wiki/RevtreePlugin is confused by
-# such commits.)  Therefore, we provide the following two options to
-# allow cross-project/cross-branch commits to be suppressed.
-
-# cvs2git only supports single-project conversions (multiple-project
-# conversions wouldn't really make sense for git anyway).  So this
-# option must be set to False:
-ctx.cross_project_commits = False
-
-# git itself doesn't allow commits that affect more than one branch,
-# so this option must be set to False:
-ctx.cross_branch_commits = False
-
-# cvs2git does not yet handle translating .cvsignore files into
-# .gitignore files, so by default, the .cvsignore files are included
-# in the conversion output.  If you would like to omit the .cvsignore
-# files from the output, set this option to False:
-ctx.keep_cvsignore = True
-
-# By default, it is a fatal error for a CVS ",v" file to appear both
-# inside and outside of an "Attic" subdirectory (this should never
-# happen, but frequently occurs due to botched repository
-# administration).  If you would like to retain both versions of such
-# files, change the following option to True, and the attic version of
-# the file will be written to a subdirectory called "Attic" in the
-# output repository:
-ctx.retain_conflicting_attic_files = False
-
-# CVS uses unix login names as author names whereas git requires
-# author names to be of the form "foo <bar>".  The default is to set
-# the git author to "cvsauthor <cvsauthor>".  author_transforms can be
-# used to map cvsauthor names (e.g., "jrandom") to a true name and
-# email address (e.g., "J. Random <jrandom@example.com>" for the
-# example shown).  All strings should be either Unicode strings (i.e.,
-# with "u" as a prefix) or 8-bit strings in the utf-8 encoding.  The
-# values can either be strings in the form "name <email>" or tuples
-# (name, email).  Please substitute your own project's usernames here
-# to use with the author_transforms option of GitOutputOption below.
-author_transforms={
-
-'ahunter' : ('Anthony Hunter', 'ahunter@eclipse.org'),
-'airvine' : ('airvine', 'airvine@eclipse.org'),
-'aniefer' : ('Andrew Niefer', 'aniefer@eclipse.org'),
-'aweinand' : ('aweinand', 'aweinand@eclipse.org'),
-'bbiggs' : ('bbiggs', 'bbiggs@eclipse.org'),
-'bbokowski' : ('Boris Bokowski', 'bbokowski@eclipse.org'),
-'bcabe' : ('Benjamin Cabe', 'bcabe@eclipse.org'),
-'bdealwis' : ('Brian Dealwis', 'bdealwis@eclipse.org'),
-'breynolds' : ('breynolds', 'breynolds@eclipse.org'),
-'cdaniel' : ('Krzysztof Daniel', 'cdaniel@eclipse.org'),
-'cknaus' : ('cknaus', 'cknaus@eclipse.org'),
-'cmclaren' : ('cmclaren', 'cmclaren@eclipse.org'),
-'darins' : ('darins', 'darins@eclipse.org'),
-'davids' : ('davids', 'davids@eclipse.org'),
-'dejan' : ('dejan', 'dejan@eclipse.org'),
-'dmegert' : ('Dani Megert', 'dmegert@eclipse.org'),
-'dorme' : ('Dave Orme', 'dorme@eclipse.org'),
-'dpollock' : ('dpollock', 'dpollock@eclipse.org'),
-'droberts' : ('Dean Roberts', 'droberts@eclipse.org'),
-'dwilson' : ('dwilson', 'dwilson@eclipse.org'),
-'ebb' : ('Ed Burnette', 'ebb@eclipse.org'),
-'eduardo' : ('eduardo', 'eduardo@eclipse.org'),
-'eidsness' : ('eidsness', 'eidsness@eclipse.org'),
-'emoffatt' : ('Eric Moffatt', 'emoffatt@eclipse.org'),
-'fuptoniv' : ('Francis Upton IV', 'fuptoniv@eclipse.org'),
-'gheorghe' : ('Bogdan Gheorghe', 'gheorghe@eclipse.org'),
-'gmendel' : ('gmendel', 'gmendel@eclipse.org'),
-'gunnar' : ('Gunnar Wagenknecht', 'gunnar@eclipse.org'),
-'hsoliwal' : ('Hitesh Soliwal', 'hsoliwal@eclipse.org'),
-'ikhelifi' : ('ikhelifi', 'ikhelifi@eclipse.org'),
-'jeem' : ('jeem', 'jeem@eclipse.org'),
-'jlebrun' : ('jlebrun', 'jlebrun@eclipse.org'),
-'jlemieux' : ('jlemieux', 'jlemieux@eclipse.org'),
-'johna' : ('John Arthorne', 'johna@eclipse.org'),
-'karice' : ('Karice McIntyre', 'karice@eclipse.org'),
-'kevinh' : ('kevinh', 'kevinh@eclipse.org'),
-'kevinm' : ('kevinm', 'kevinm@eclipse.org'),
-'khorne' : ('khorne', 'khorne@eclipse.org'),
-'kmaetzel' : ('kmaetzel', 'kmaetzel@eclipse.org'),
-'kmoir' : ('Kim Moir', 'kmoir@eclipse.org'),
-'kradloff' : ('kradloff', 'kradloff@eclipse.org'),
-'ktoedter' : ('Kai Toedter', 'ktoedter@eclipse.org'),
-'lkues' : ('lkues', 'lkues@eclipse.org'),
-'marcelop' : ('Marcelo Paternostro', 'marcelop@eclipse.org'),
-'melder' : ('melder', 'melder@eclipse.org'),
-'mhall' : ('Matthew Hall', 'mhall@eclipse.org'),
-'mhatem' : ('mhatem', 'mhatem@eclipse.org'),
-'mkeller' : ('Markus Keller', 'mkeller@eclipse.org'),
-'mvalenta' : ('mvalenta', 'mvalenta@eclipse.org'),
-'mvanmeek' : ('mvanmeek', 'mvanmeek@eclipse.org'),
-'nick' : ('Nick Edgar', 'nick@eclipse.org'),
-'obesedin' : ('Oleg Besedin', 'obesedin@eclipse.org'),
-'omallo' : ('Ovidio Mallo', 'omallo@eclipse.org'),
-'prangaraj' : ('Prakash Rangaraj', 'prangaraj@eclipse.org'),
-'pwebster' : ('Paul Webster', 'pwebster@eclipse.org'),
-'randyg' : ('randyg', 'randyg@eclipse.org'),
-'rherrmann' : ('Rudiger Herrmann', 'rherrmann@eclipse.org'),
-'rsternber' : ('Ralf Sternberg', 'rsternber@eclipse.org'),
-'rsuen' : ('Remy Suen', 'rsuen@eclipse.org'),
-'sarsenau' : ('sarsenau', 'sarsenau@eclipse.org'),
-'sbeauchamp' : ('Serge Beauchamp', 'sbeauchamp@eclipse.org'),
-'sbrandys' : ('Szymon Brandys', 'sbrandys@eclipse.org'),
-'sdimitro' : ('Sonia Dimitrov', 'sdimitro@eclipse.org'),
-'sfranklin' : ('Susan McCourt', 'sfranklin@eclipse.org'),
-'sxenos' : ('sxenos', 'sxenos@eclipse.org'),
-'tod' : ('Tod Creasey', 'tod@eclipse.org'),
-'tschindl' : ('Thomas Schindl', 'tschindl@eclipse.org'),
-'wchoi' : ('wchoi', 'wchoi@eclipse.org'),
-'winchest' : ('winchest', 'winchest@eclipse.org'),
-'yvyang' : ('Yves YANG', 'yvyang@eclipse.org'),
-#    'jrandom' : ('J. Random', 'jrandom@example.com'),
-#    'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
-#    'brane' : (u'Branko Äibej', 'brane@xbc.nu'),
-#    'ringstrom' : 'Tobias Ringström <tobias@ringstrom.mine.nu>',
-#    'dionisos' : (u'Erik Hülsmann', 'e.huelsmann@gmx.net'),
-
-    # This one will be used for commits for which CVS doesn't record
-    # the original author, as explained above.
-    'cvs2svn' : 'cvs2svn <platform-releng-dev@eclipse.org>',
-    }
-
-# This is the main option that causes cvs2svn to output to a
-# "fastimport"-format dumpfile rather than to Subversion:
-ctx.output_option = GitOutputOption(
-    # The file in which to write the git-fast-import stream that
-    # contains the changesets and branch/tag information:
-    os.path.join(ctx.tmpdir, 'git-dump.dat'),
-
-    # The blobs will be written via the revision recorder, so in
-    # OutputPass we only have to emit references to the blob marks:
-    GitRevisionMarkWriter(),
-
-    # Optional map from CVS author names to git author names:
-    author_transforms=author_transforms,
-    )
-
-# Change this option to True to turn on profiling of cvs2svn (for
-# debugging purposes):
-run_options.profiling = False
-
-
-# Should CVSItem -> Changeset database files be memory mapped?  In
-# some tests, using memory mapping speeded up the overall conversion
-# by about 5%.  But this option can cause the conversion to fail with
-# an out of memory error if the conversion computer runs out of
-# virtual address space (e.g., when running a very large conversion on
-# a 32-bit operating system).  Therefore it is disabled by default.
-# Uncomment the following line to allow these database files to be
-# memory mapped.
-changeset_database.use_mmap_for_cvs_item_to_changeset_table = True
-
-# Now set the project to be converted to git.  cvs2git only supports
-# single-project conversions, so this method must only be called
-# once:
-run_options.set_project(
-    # The filesystem path to the part of the CVS repository (*not* a
-    # CVS working copy) that should be converted.  This may be a
-    # subdirectory (i.e., a module) within a larger CVS repository.
-    r'/opt/pwebster/git/cvs/test_pui/cvsroot/eclipse.platform.ui',
-
-    # A list of symbol transformations that can be used to rename
-    # symbols in this project.
-    symbol_transforms=[
-        # Use IgnoreSymbolTransforms like the following to completely
-        # ignore symbols matching a regular expression when parsing
-        # the CVS repository, for example to avoid warnings about
-        # branches with two names and to choose the preferred name.
-        # It is *not* recommended to use this instead of
-        # ExcludeRegexpStrategyRule; though more efficient,
-        # IgnoreSymbolTransforms are less flexible and don't exclude
-        # branches correctly.  The argument is a Python-style regular
-        # expression that has to match the *whole* CVS symbol name:
-        #IgnoreSymbolTransform(r'nightly-build-tag-.*')
-
-        # RegexpSymbolTransforms transform symbols textually using a
-        # regular expression.  The first argument is a Python regular
-        # expression pattern and the second is a replacement pattern.
-        # The pattern is matched against each symbol name.  If it
-        # matches the whole symbol name, then the symbol name is
-        # replaced with the corresponding replacement text.  The
-        # replacement can include substitution patterns (e.g., r'\1'
-        # or r'\g<name>').  Typically you will want to use raw strings
-        # (strings with a preceding 'r', like shown in the examples)
-        # for the regexp and its replacement to avoid backslash
-        # substitution within those strings.
-        #RegexpSymbolTransform(r'release-(\d+)_(\d+)',
-        #                      r'release-\1.\2'),
-        #RegexpSymbolTransform(r'release-(\d+)_(\d+)_(\d+)',
-        #                      r'release-\1.\2.\3'),
-
-        # Simple 1:1 character replacements can also be done.  The
-        # following transform, which converts backslashes into forward
-        # slashes, should usually be included:
-        ReplaceSubstringsSymbolTransform('\\','/'),
-
-        # This last rule eliminates leading, trailing, and repeated
-        # slashes within the output symbol names:
-        NormalizePathsSymbolTransform(),
-        ],
-
-    # See the definition of global_symbol_strategy_rules above for a
-    # description of this option:
-    symbol_strategy_rules=global_symbol_strategy_rules,
-
-    # Exclude paths from the conversion. Should be relative to
-    # repository path and use forward slashes:
-    #exclude_paths=['file-to-exclude.txt,v', 'dir/to/exclude'],
-    )
-
-
