:orphan:

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

* Processed 464 changesets from 69 developers

* 33 employers found

* A total of 102552 lines added, 74330 removed (delta 28222)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    37 (8.0%)
   Kumar Gala                        33 (7.1%)
   Jean-Christophe PLAGNIOL-VILLARD  30 (6.5%)
   Heiko Schocher                    27 (5.8%)
   Wolfgang Denk                     26 (5.6%)
   Becky Bruce                       25 (5.4%)
   Stefan Roese                      22 (4.7%)
   Peter Tyser                       21 (4.5%)
   Matthias Fuchs                    16 (3.4%)
   Nobuhiro Iwamatsu                 15 (3.2%)
   Dave Liu                          14 (3.0%)
   Haiying Wang                      13 (2.8%)
   Kyungmin Park                     12 (2.6%)
   Ben Warren                        10 (2.2%)
   TsiChung Liew                     10 (2.2%)
   Scott Wood                        9 (1.9%)
   Richard Retanubun                 8 (1.7%)
   Anton Vorontsov                   8 (1.7%)
   Remy Böhmer                       7 (1.5%)
   Ilya Yanok                        7 (1.5%)
   Trent Piepho                      6 (1.3%)
   Ed Swarthout                      6 (1.3%)
   Bartlomiej Sieka                  6 (1.3%)
   Michal Simek                      5 (1.1%)
   Niklaus Giger                     5 (1.1%)
   Piotr Ziecik                      5 (1.1%)
   Haavard Skinnemoen                5 (1.1%)
   Graeme Russ                       4 (0.9%)
   Anatolij Gustschin                4 (0.9%)
   Gary Jennejohn                    4 (0.9%)
   Stelian Pop                       4 (0.9%)
   Roy Zang                          3 (0.6%)
   Paul Gortmaker                    3 (0.6%)
   Jon Loeliger                      3 (0.6%)
   Ilko Iliev                        3 (0.6%)
   Adam Graham                       3 (0.6%)
   Peter Korsgaard                   2 (0.4%)
   Nicolas Ferre                     2 (0.4%)
   Timur Tabi                        2 (0.4%)
   Yuri Tikhonov                     2 (0.4%)
   Andy Fleming                      2 (0.4%)
   Michael Trimarchi                 2 (0.4%)
   Dave Mitchell                     2 (0.4%)
   Roman Mashak                      2 (0.4%)
   Jason Jin                         2 (0.4%)
   Ricardo Ribalda                   2 (0.4%)
   Dirk Eibach                       2 (0.4%)
   Liu Yu                            2 (0.4%)
   Kieran Bingham                    1 (0.2%)
   Shinya Kuribayashi                1 (0.2%)
   Martin Michlmayr                  1 (0.2%)
   Sergei Poselenov                  1 (0.2%)
   Sonic Zhang                       1 (0.2%)
   Jerry Van Baren                   1 (0.2%)
   Stefan Althoefer                  1 (0.2%)
   Daniel Hellstrom                  1 (0.2%)
   Jens Scharsig                     1 (0.2%)
   Steven A. Falco                   1 (0.2%)
   Dirk Behme                        1 (0.2%)
   Howard Gregory                    1 (0.2%)
   Selvamuthukumar                   1 (0.2%)
   Clive Stubbings                   1 (0.2%)
   Sergey Lapin                      1 (0.2%)
   Tomohiro Masubuchi                1 (0.2%)
   Alessandro Rubini                 1 (0.2%)
   David Gibson                      1 (0.2%)
   Karl Beldan                       1 (0.2%)
   Georg Schardt                     1 (0.2%)
   Ben Maan                          1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jean-Christophe PLAGNIOL-VILLARD  56116 (49.1%)
   Kyungmin Park                     15163 (13.3%)
   TsiChung Liew                     11218 (9.8%)
   Wolfgang Denk                     6977 (6.1%)
   Peter Tyser                       3736 (3.3%)
   Kumar Gala                        1824 (1.6%)
   Gary Jennejohn                    1805 (1.6%)
   Heiko Schocher                    1569 (1.4%)
   Matthias Fuchs                    1405 (1.2%)
   Mike Frysinger                    1229 (1.1%)
   Remy Böhmer                       1013 (0.9%)
   Michal Simek                      935 (0.8%)
   Becky Bruce                       882 (0.8%)
   Richard Retanubun                 870 (0.8%)
   Ricardo Ribalda                   842 (0.7%)
   Haiying Wang                      823 (0.7%)
   Dirk Eibach                       723 (0.6%)
   Ilya Yanok                        643 (0.6%)
   Bartlomiej Sieka                  599 (0.5%)
   Sergey Lapin                      592 (0.5%)
   Michael Trimarchi                 474 (0.4%)
   Adam Graham                       458 (0.4%)
   Niklaus Giger                     425 (0.4%)
   Stefan Roese                      363 (0.3%)
   Nobuhiro Iwamatsu                 282 (0.2%)
   Scott Wood                        269 (0.2%)
   Selvamuthukumar                   260 (0.2%)
   Piotr Ziecik                      258 (0.2%)
   Georg Schardt                     252 (0.2%)
   Anton Vorontsov                   234 (0.2%)
   Timur Tabi                        232 (0.2%)
   Dave Liu                          228 (0.2%)
   Haavard Skinnemoen                198 (0.2%)
   Ben Warren                        190 (0.2%)
   Nicolas Ferre                     171 (0.1%)
   Dave Mitchell                     130 (0.1%)
   Trent Piepho                      107 (0.1%)
   Jason Jin                         105 (0.1%)
   Liu Yu                            94 (0.1%)
   Jon Loeliger                      88 (0.1%)
   Stelian Pop                       77 (0.1%)
   Alessandro Rubini                 69 (0.1%)
   Dirk Behme                        67 (0.1%)
   Graeme Russ                       65 (0.1%)
   Tomohiro Masubuchi                45 (0.0%)
   Andy Fleming                      33 (0.0%)
   Ben Maan                          32 (0.0%)
   Ed Swarthout                      31 (0.0%)
   Roman Mashak                      24 (0.0%)
   Kieran Bingham                    19 (0.0%)
   Paul Gortmaker                    17 (0.0%)
   Anatolij Gustschin                15 (0.0%)
   Ilko Iliev                        15 (0.0%)
   Yuri Tikhonov                     14 (0.0%)
   Steven A. Falco                   12 (0.0%)
   Shinya Kuribayashi                11 (0.0%)
   Jens Scharsig                     11 (0.0%)
   Roy Zang                          10 (0.0%)
   Sergei Poselenov                  10 (0.0%)
   Karl Beldan                       8 (0.0%)
   David Gibson                      7 (0.0%)
   Peter Korsgaard                   6 (0.0%)
   Howard Gregory                    6 (0.0%)
   Sonic Zhang                       3 (0.0%)
   Jerry Van Baren                   2 (0.0%)
   Daniel Hellstrom                  2 (0.0%)
   Martin Michlmayr                  1 (0.0%)
   Stefan Althoefer                  1 (0.0%)
   Clive Stubbings                   1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   TsiChung Liew                     3057 (4.1%)
   Michal Simek                      920 (1.2%)
   Matthias Fuchs                    795 (1.1%)
   Jean-Christophe PLAGNIOL-VILLARD  436 (0.6%)
   Mike Frysinger                    279 (0.4%)
   Timur Tabi                        170 (0.2%)
   Dave Liu                          161 (0.2%)
   Nobuhiro Iwamatsu                 127 (0.2%)
   Alessandro Rubini                 68 (0.1%)
   Jon Loeliger                      32 (0.0%)
   Roman Mashak                      22 (0.0%)
   Paul Gortmaker                    12 (0.0%)
   Steven A. Falco                   9 (0.0%)
   Andy Fleming                      8 (0.0%)
   Dirk Behme                        3 (0.0%)
   Ilko Iliev                        1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      47 (27.6%)
   Ben Warren                        15 (8.8%)
   Kim Phillips                      12 (7.1%)
   Andy Fleming                      11 (6.5%)
   Nobuhiro Iwamatsu                 10 (5.9%)
   Wolfgang Denk                     8 (4.7%)
   Shinya Kuribayashi                7 (4.1%)
   Markus Klotzbuecher               6 (3.5%)
   Remy Böhmer                       6 (3.5%)
   Anatolij Gustschin                5 (2.9%)
   Scott Wood                        5 (2.9%)
   Jean-Christophe PLAGNIOL-VILLARD  4 (2.4%)
   Alexey Neyman                     4 (2.4%)
   Rafal Czubak                      4 (2.4%)
   Kumar Gala                        4 (2.4%)
   Ricardo Ribalda Delgado           3 (1.8%)
   Victor Gallardo                   3 (1.8%)
   Jason Jin                         3 (1.8%)
   Mike Frysinger                    2 (1.2%)
   James Yang                        2 (1.2%)
   Yuri Tikhonov                     2 (1.2%)
   Dave Liu                          1 (0.6%)
   Vladimir Panfilov                 1 (0.6%)
   Gerald Van Baren                  1 (0.6%)
   Valeriy Glushkov                  1 (0.6%)
   Nick Spence                       1 (0.6%)
   Ilya Yanok                        1 (0.6%)
   Haiying Wang                      1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Scott Wood                        1 (33.3%)
   Alessandro Rubini                 1 (33.3%)
   Martin Michlmayr                  1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Scott Wood                        1 (33.3%)
   Alessandro Rubini                 1 (33.3%)
   Martin Michlmayr                  1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         131 (28.2%)
   DENX Software Engineering         83 (17.9%)
   Analog Devices                    38 (8.2%)
   (Unknown)                         32 (6.9%)
   jcrosoft                          30 (6.5%)
   Extreme Engineering Solutions     21 (4.5%)
   ESD Electronics                   16 (3.4%)
   Samsung                           12 (2.6%)
   Semihalf Embedded Systems         11 (2.4%)
   EmCraft Systems                   10 (2.2%)
   Nobuhiro Iwamatsu                 9 (1.9%)
   MontaVista                        8 (1.7%)
   RuggedCom                         8 (1.7%)
   Atmel                             7 (1.5%)
   Oce Technologies                  7 (1.5%)
   Renesas Electronics               6 (1.3%)
   Xilinx                            5 (1.1%)
   Graeme Russ                       4 (0.9%)
   Stelian Pop                       4 (0.9%)
   AMCC                              3 (0.6%)
   Wind River                        3 (0.6%)
   Ronetix                           3 (0.6%)
   Guntermann & Drunck               2 (0.4%)
   Barco                             2 (0.4%)
   BuS Elektronik                    1 (0.2%)
   Custom IDEAS                      1 (0.2%)
   e-con Infotech                    1 (0.2%)
   Gaisler Research                  1 (0.2%)
   Harris Corporation                1 (0.2%)
   Netstal-Maschinen                 1 (0.2%)
   cTech                             1 (0.2%)
   Xentech Solutions                 1 (0.2%)
   Funky                             1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   jcrosoft                          56116 (49.1%)
   Freescale                         15950 (13.9%)
   Samsung                           15163 (13.3%)
   DENX Software Engineering         10729 (9.4%)
   Extreme Engineering Solutions     3736 (3.3%)
   (Unknown)                         2600 (2.3%)
   ESD Electronics                   1405 (1.2%)
   Analog Devices                    1232 (1.1%)
   Oce Technologies                  1013 (0.9%)
   Xilinx                            935 (0.8%)
   RuggedCom                         870 (0.8%)
   Semihalf Embedded Systems         857 (0.7%)
   Guntermann & Drunck               723 (0.6%)
   EmCraft Systems                   667 (0.6%)
   AMCC                              458 (0.4%)
   Atmel                             369 (0.3%)
   Netstal-Maschinen                 292 (0.3%)
   Renesas Electronics               260 (0.2%)
   e-con Infotech                    260 (0.2%)
   cTech                             252 (0.2%)
   MontaVista                        234 (0.2%)
   Stelian Pop                       77 (0.1%)
   Graeme Russ                       65 (0.1%)
   Funky                             45 (0.0%)
   Nobuhiro Iwamatsu                 22 (0.0%)
   Wind River                        17 (0.0%)
   Ronetix                           15 (0.0%)
   Harris Corporation                12 (0.0%)
   BuS Elektronik                    11 (0.0%)
   Barco                             6 (0.0%)
   Custom IDEAS                      2 (0.0%)
   Gaisler Research                  2 (0.0%)
   Xentech Solutions                 1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         66 (38.8%)
   Freescale                         40 (23.5%)
   (Unknown)                         23 (13.5%)
   Nobuhiro Iwamatsu                 10 (5.9%)
   EmCraft Systems                   8 (4.7%)
   Oce Technologies                  6 (3.5%)
   jcrosoft                          4 (2.4%)
   Semihalf Embedded Systems         4 (2.4%)
   AMCC                              3 (1.8%)
   Universidad Autonoma de Madrid    3 (1.8%)
   Analog Devices                    2 (1.2%)
   Custom IDEAS                      1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         16 (22.5%)
   Freescale                         15 (21.1%)
   DENX Software Engineering         5 (7.0%)
   EmCraft Systems                   3 (4.2%)
   Semihalf Embedded Systems         2 (2.8%)
   Analog Devices                    2 (2.8%)
   Atmel                             2 (2.8%)
   Nobuhiro Iwamatsu                 1 (1.4%)
   Oce Technologies                  1 (1.4%)
   jcrosoft                          1 (1.4%)
   AMCC                              1 (1.4%)
   Custom IDEAS                      1 (1.4%)
   Samsung                           1 (1.4%)
   Extreme Engineering Solutions     1 (1.4%)
   ESD Electronics                   1 (1.4%)
   Xilinx                            1 (1.4%)
   RuggedCom                         1 (1.4%)
   Guntermann & Drunck               1 (1.4%)
   Netstal-Maschinen                 1 (1.4%)
   Renesas Electronics               1 (1.4%)
   e-con Infotech                    1 (1.4%)
   cTech                             1 (1.4%)
   MontaVista                        1 (1.4%)
   Stelian Pop                       1 (1.4%)
   Graeme Russ                       1 (1.4%)
   Funky                             1 (1.4%)
   Wind River                        1 (1.4%)
   Ronetix                           1 (1.4%)
   Harris Corporation                1 (1.4%)
   BuS Elektronik                    1 (1.4%)
   Barco                             1 (1.4%)
   Gaisler Research                  1 (1.4%)
   Xentech Solutions                 1 (1.4%)
   ================================  =====
