:orphan:

Release Statistics for U-Boot v2009.06
======================================

* Processed 433 csets from 74 developers

* 27 employers found

* A total of 52469 lines added, 17023 removed (delta 35446)

.. table:: Developers with the most changesets
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    95 (21.9%)
   Jean-Christophe PLAGNIOL-VILLARD  55 (12.7%)
   Peter Tyser                       32 (7.4%)
   Wolfgang Denk                     29 (6.7%)
   Stefan Roese                      24 (5.5%)
   Detlev Zundel                     15 (3.5%)
   Kumar Gala                        12 (2.8%)
   Ladislav Michl                    12 (2.8%)
   Haavard Skinnemoen                9 (2.1%)
   Haiying Wang                      8 (1.8%)
   Scott Wood                        7 (1.6%)
   Matthias Fuchs                    6 (1.4%)
   Graeme Russ                       6 (1.4%)
   Dave Liu                          5 (1.2%)
   Rabin Vincent                     5 (1.2%)
   Heiko Schocher                    5 (1.2%)
   David Brownell                    5 (1.2%)
   Wolfgang Grandegger               5 (1.2%)
   Shinya Kuribayashi                4 (0.9%)
   Kim Phillips                      4 (0.9%)
   Graf Yang                         4 (0.9%)
   Dirk Behme                        4 (0.9%)
   Sanjeev Premi                     4 (0.9%)
   Daniel Mack                       3 (0.7%)
   Ricardo Ribalda                   3 (0.7%)
   Minkyu Kang                       3 (0.7%)
   Guennadi Liakhovetski             3 (0.7%)
   Jon Smirl                         3 (0.7%)
   Mark Jackson                      3 (0.7%)
   Olav Morken                       3 (0.7%)
   Remy Bohmer                       2 (0.5%)
   RONETIX - Ilko Iliev              2 (0.5%)
   Yoshihiro Shimoda                 2 (0.5%)
   Manikandan Pillai                 2 (0.5%)
   Yauhen Kharuzhy                   2 (0.5%)
   Andreas Huber                     2 (0.5%)
   Emil Medve                        2 (0.5%)
   Sascha Hauer                      2 (0.5%)
   Anatolij Gustschin                2 (0.5%)
   Kyungmin Park                     2 (0.5%)
   Tom Rix                           2 (0.5%)
   Mingkai Hu                        2 (0.5%)
   David Gibson                      2 (0.5%)
   Ben Warren                        1 (0.2%)
   Fredrik Arnerup                   1 (0.2%)
   Felix Radensky                    1 (0.2%)
   Ilya Yanok                        1 (0.2%)
   Thomas Lange                      1 (0.2%)
   Rohit Hagargundgi                 1 (0.2%)
   Marco Stornelli                   1 (0.2%)
   Sergey Lapin                      1 (0.2%)
   Daniel Gorsulowski                1 (0.2%)
   Adrian Hunter                     1 (0.2%)
   Gao Guanhua                       1 (0.2%)
   Michael Zaidman                   1 (0.2%)
   Timur Tabi                        1 (0.2%)
   Todor I Mollov                    1 (0.2%)
   Becky Bruce                       1 (0.2%)
   Peter Korsgaard                   1 (0.2%)
   Alan Carvalho de Assis            1 (0.2%)
   Artem Bityutskiy                  1 (0.2%)
   Ulf Samuelsson                    1 (0.2%)
   Nicolas Ferre                     1 (0.2%)
   unsik Kim                         1 (0.2%)
   apgmoorthy                        1 (0.2%)
   Laurent Gregoire                  1 (0.2%)
   Jens Scharsig                     1 (0.2%)
   Nishanth Menon                    1 (0.2%)
   Sonic Zhang                       1 (0.2%)
   Eric Schumann                     1 (0.2%)
   Michael Lawnick                   1 (0.2%)
   Grzegorz Bernacki                 1 (0.2%)
   Trent Piepho                      1 (0.2%)
   Gunnar Rangoy                     1 (0.2%)
   ================================  =====


.. table:: Developers with the most changed lines
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      21338 (36.5%)
   Mike Frysinger                    7887 (13.5%)
   Wolfgang Denk                     5938 (10.2%)
   Jean-Christophe PLAGNIOL-VILLARD  4888 (8.4%)
   Detlev Zundel                     1771 (3.0%)
   Haiying Wang                      1577 (2.7%)
   RONETIX - Ilko Iliev              1344 (2.3%)
   Graeme Russ                       1331 (2.3%)
   Haavard Skinnemoen                1272 (2.2%)
   unsik Kim                         1080 (1.8%)
   Remy Bohmer                       1054 (1.8%)
   Dave Liu                          868 (1.5%)
   Kumar Gala                        830 (1.4%)
   Grzegorz Bernacki                 788 (1.3%)
   Peter Tyser                       751 (1.3%)
   Ladislav Michl                    750 (1.3%)
   Ulf Samuelsson                    747 (1.3%)
   Trent Piepho                      738 (1.3%)
   Matthias Fuchs                    678 (1.2%)
   Marco Stornelli                   433 (0.7%)
   Mingkai Hu                        374 (0.6%)
   Sanjeev Premi                     177 (0.3%)
   Scott Wood                        174 (0.3%)
   Dirk Behme                        148 (0.3%)
   Wolfgang Grandegger               127 (0.2%)
   Heiko Schocher                    115 (0.2%)
   Manikandan Pillai                 105 (0.2%)
   David Gibson                      95 (0.2%)
   Gunnar Rangoy                     88 (0.2%)
   Graf Yang                         72 (0.1%)
   Artem Bityutskiy                  71 (0.1%)
   Minkyu Kang                       63 (0.1%)
   Michael Zaidman                   59 (0.1%)
   Olav Morken                       53 (0.1%)
   Tom Rix                           53 (0.1%)
   Kyungmin Park                     52 (0.1%)
   Rabin Vincent                     47 (0.1%)
   Adrian Hunter                     47 (0.1%)
   Nicolas Ferre                     47 (0.1%)
   apgmoorthy                        44 (0.1%)
   Shinya Kuribayashi                35 (0.1%)
   Anatolij Gustschin                35 (0.1%)
   Kim Phillips                      29 (0.0%)
   Ricardo Ribalda                   26 (0.0%)
   Mark Jackson                      26 (0.0%)
   Andreas Huber                     25 (0.0%)
   Jon Smirl                         24 (0.0%)
   David Brownell                    20 (0.0%)
   Ben Warren                        19 (0.0%)
   Yoshihiro Shimoda                 18 (0.0%)
   Becky Bruce                       18 (0.0%)
   Daniel Mack                       15 (0.0%)
   Todor I Mollov                    15 (0.0%)
   Guennadi Liakhovetski             14 (0.0%)
   Sascha Hauer                      14 (0.0%)
   Yauhen Kharuzhy                   9 (0.0%)
   Felix Radensky                    6 (0.0%)
   Jens Scharsig                     5 (0.0%)
   Nishanth Menon                    5 (0.0%)
   Sonic Zhang                       5 (0.0%)
   Ilya Yanok                        4 (0.0%)
   Thomas Lange                      4 (0.0%)
   Michael Lawnick                   4 (0.0%)
   Eric Schumann                     3 (0.0%)
   Emil Medve                        2 (0.0%)
   Sergey Lapin                      2 (0.0%)
   Gao Guanhua                       2 (0.0%)
   Fredrik Arnerup                   1 (0.0%)
   Rohit Hagargundgi                 1 (0.0%)
   Daniel Gorsulowski                1 (0.0%)
   Timur Tabi                        1 (0.0%)
   Peter Korsgaard                   1 (0.0%)
   Alan Carvalho de Assis            1 (0.0%)
   Laurent Gregoire                  1 (0.0%)
   ================================  =====


.. table:: Developers with the most lines removed
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Ladislav Michl                    550 (3.2%)
   Trent Piepho                      405 (2.4%)
   Matthias Fuchs                    262 (1.5%)
   Kumar Gala                        232 (1.4%)
   Dirk Behme                        103 (0.6%)
   Michael Zaidman                   55 (0.3%)
   David Gibson                      34 (0.2%)
   Kyungmin Park                     33 (0.2%)
   Adrian Hunter                     24 (0.1%)
   Kim Phillips                      24 (0.1%)
   Tom Rix                           17 (0.1%)
   Scott Wood                        10 (0.1%)
   Manikandan Pillai                 6 (0.0%)
   David Brownell                    4 (0.0%)
   Yauhen Kharuzhy                   4 (0.0%)
   Jens Scharsig                     4 (0.0%)
   Ilya Yanok                        4 (0.0%)
   Sonic Zhang                       2 (0.0%)
   Shinya Kuribayashi                1 (0.0%)
   ================================  =====


.. table:: Developers with the most signoffs (total 104)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      11 (10.6%)
   Mike Frysinger                    10 (9.6%)
   Kumar Gala                        9 (8.7%)
   Ben Warren                        8 (7.7%)
   Haavard Skinnemoen                8 (7.7%)
   Scott Wood                        7 (6.7%)
   Jean-Christophe PLAGNIOL-VILLARD  7 (6.7%)
   Andreas Pfefferle                 4 (3.8%)
   Paul Driveklepp                   4 (3.8%)
   Kim Phillips                      3 (2.9%)
   Andy Fleming                      3 (2.9%)
   Steve Sakoman                     3 (2.9%)
   Ricardo Ribalda Delgado           3 (2.9%)
   Gunnar Rangoy                     3 (2.9%)
   Remy Bohmer                       3 (2.9%)
   Wolfgang Denk                     3 (2.9%)
   Hillel Avni                       2 (1.9%)
   Dirk Behme                        1 (1.0%)
   Kyungmin Park                     1 (1.0%)
   Shinya Kuribayashi                1 (1.0%)
   Yu Liu                            1 (1.0%)
   Vivek Kutal                       1 (1.0%)
   Travis Wheatley                   1 (1.0%)
   Justin Waters                     1 (1.0%)
   Rohit Hagargundgi                 1 (1.0%)
   Sascha Hauer                      1 (1.0%)
   Olav Morken                       1 (1.0%)
   Becky Bruce                       1 (1.0%)
   Nicolas Ferre                     1 (1.0%)
   Dave Liu                          1 (1.0%)
   ================================  =====


.. table:: Developers with the most reviews (total 1)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   David Hawkins                     1 (100.0%)
   ================================  =====


.. table:: Developers with the most test credits (total 8)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Nobuhiro Iwamatsu                 2 (25.0%)
   Stefan Roese                      1 (12.5%)
   Sergey Lapin                      1 (12.5%)
   Mikhail Zaturenskiy               1 (12.5%)
   Paul Gortmaker                    1 (12.5%)
   Eric BENARD                       1 (12.5%)
   Heiko Schocher                    1 (12.5%)
   ================================  =====


.. table:: Developers who gave the most tested-by credits (total 8)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     4 (50.0%)
   Jean-Christophe PLAGNIOL-VILLARD  2 (25.0%)
   Kim Phillips                      1 (12.5%)
   Yoshihiro Shimoda                 1 (12.5%)
   ================================  =====


.. table:: Developers with the most report credits (total 3)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     2 (66.7%)
   Joakim Tjernlund                  1 (33.3%)
   ================================  =====


.. table:: Developers who gave the most report credits (total 3)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Guennadi Liakhovetski             2 (66.7%)
   Dave Liu                          1 (33.3%)
   ================================  =====


.. table:: Top changeset contributors by employer
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Analog Devices                    100 (23.1%)
   DENX Software Engineering         83 (19.2%)
   jcrosoft                          55 (12.7%)
   (Unknown)                         51 (11.8%)
   Freescale                         44 (10.2%)
   Extreme Engineering Solutions     32 (7.4%)
   Atmel                             11 (2.5%)
   ESD Electronics                   7 (1.6%)
   Samsung                           7 (1.6%)
   Texas Instruments                 7 (1.6%)
   Graeme Russ                       6 (1.4%)
   Dirk Behme                        4 (0.9%)
   Mercury IMC Ltd.                  3 (0.7%)
   Jon Smirl                         3 (0.7%)
   Wind River                        2 (0.5%)
   Keymile                           2 (0.5%)
   Nokia                             2 (0.5%)
   Pengutronix                       2 (0.5%)
   Renesas Electronics               2 (0.5%)
   Ronetix                           2 (0.5%)
   Oce Technologies                  2 (0.5%)
   BuS Elektronik                    1 (0.2%)
   EmCraft Systems                   1 (0.2%)
   NEC                               1 (0.2%)
   Phytec                            1 (0.2%)
   Semihalf Embedded Systems         1 (0.2%)
   Barco                             1 (0.2%)
   ================================  =====


.. table:: Top lines changed by employer
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         29338 (50.2%)
   Analog Devices                    7964 (13.6%)
   jcrosoft                          4888 (8.4%)
   Freescale                         4613 (7.9%)
   (Unknown)                         2763 (4.7%)
   Atmel                             2066 (3.5%)
   Ronetix                           1344 (2.3%)
   Graeme Russ                       1331 (2.3%)
   Oce Technologies                  1054 (1.8%)
   Semihalf Embedded Systems         788 (1.3%)
   Extreme Engineering Solutions     751 (1.3%)
   ESD Electronics                   679 (1.2%)
   Texas Instruments                 287 (0.5%)
   Samsung                           160 (0.3%)
   Dirk Behme                        148 (0.3%)
   Nokia                             118 (0.2%)
   Wind River                        53 (0.1%)
   Mercury IMC Ltd.                  26 (0.0%)
   Keymile                           25 (0.0%)
   Jon Smirl                         24 (0.0%)
   Renesas Electronics               18 (0.0%)
   Pengutronix                       14 (0.0%)
   BuS Elektronik                    5 (0.0%)
   EmCraft Systems                   4 (0.0%)
   Phytec                            3 (0.0%)
   Barco                             1 (0.0%)
   ================================  =====


.. table:: Employers with the most signoffs (total 104)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         28 (26.9%)
   DENX Software Engineering         18 (17.3%)
   (Unknown)                         18 (17.3%)
   Analog Devices                    10 (9.6%)
   Atmel                             9 (8.7%)
   jcrosoft                          7 (6.7%)
   Oce Technologies                  3 (2.9%)
   Sakoman Inc.                      3 (2.9%)
   Universidad Autonoma de Madrid    3 (2.9%)
   Samsung                           2 (1.9%)
   Dirk Behme                        1 (1.0%)
   Pengutronix                       1 (1.0%)
   Azingo                            1 (1.0%)
   ================================  =====


.. table:: Employers with the most hackers (total 75)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         22 (29.3%)
   Freescale                         11 (14.7%)
   DENX Software Engineering         7 (9.3%)
   Samsung                           4 (5.3%)
   Analog Devices                    3 (4.0%)
   Atmel                             3 (4.0%)
   Texas Instruments                 3 (4.0%)
   ESD Electronics                   2 (2.7%)
   Nokia                             2 (2.7%)
   jcrosoft                          1 (1.3%)
   Oce Technologies                  1 (1.3%)
   Dirk Behme                        1 (1.3%)
   Pengutronix                       1 (1.3%)
   Ronetix                           1 (1.3%)
   Graeme Russ                       1 (1.3%)
   Semihalf Embedded Systems         1 (1.3%)
   Extreme Engineering Solutions     1 (1.3%)
   Wind River                        1 (1.3%)
   Mercury IMC Ltd.                  1 (1.3%)
   Keymile                           1 (1.3%)
   Jon Smirl                         1 (1.3%)
   Renesas Electronics               1 (1.3%)
   BuS Elektronik                    1 (1.3%)
   EmCraft Systems                   1 (1.3%)
   Phytec                            1 (1.3%)
   Barco                             1 (1.3%)
   NEC                               1 (1.3%)
   ================================  =====
