:orphan:

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

* Processed 489 changesets from 90 developers

* 46 employers found

* A total of 55137 lines added, 8339 removed (delta 46798)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    92 (18.8%)
   Heiko Schocher                    31 (6.3%)
   Stefan Roese                      28 (5.7%)
   Kumar Gala                        23 (4.7%)
   Wolfgang Denk                     21 (4.3%)
   Dirk Behme                        20 (4.1%)
   Jean-Christophe PLAGNIOL-VILLARD  20 (4.1%)
   Andy Fleming                      14 (2.9%)
   Richard Retanubun                 12 (2.5%)
   Becky Bruce                       12 (2.5%)
   Peter Tyser                       12 (2.5%)
   Anton Vorontsov                   10 (2.0%)
   Graeme Russ                       10 (2.0%)
   Guennadi Liakhovetski             9 (1.8%)
   Wolfgang Grandegger               9 (1.8%)
   Dave Liu                          8 (1.6%)
   Michael Trimarchi                 8 (1.6%)
   Yoshihiro Shimoda                 7 (1.4%)
   Matthias Fuchs                    7 (1.4%)
   Abraham, Thomas                   7 (1.4%)
   Michal Simek                      6 (1.2%)
   Nobuhiro Iwamatsu                 5 (1.0%)
   TsiChung Liew                     5 (1.0%)
   Dirk Eibach                       5 (1.0%)
   Kim Phillips                      4 (0.8%)
   Valeriy Glushkov                  4 (0.8%)
   Alessandro Rubini                 4 (0.8%)
   Ron Madrid                        4 (0.8%)
   Ilya Yanok                        4 (0.8%)
   Rafal Jaworowski                  4 (0.8%)
   Shinya Kuribayashi                3 (0.6%)
   Tom Rix                           3 (0.6%)
   John Rigby                        3 (0.6%)
   Bryan Wu                          3 (0.6%)
   Remy Bohmer                       2 (0.4%)
   Jon Smirl                         2 (0.4%)
   Anatolij Gustschin                2 (0.4%)
   Ladislav Michl                    2 (0.4%)
   Scott Wood                        2 (0.4%)
   Jerry Van Baren                   2 (0.4%)
   ksi@koi8.net                      2 (0.4%)
   Ben Warren                        2 (0.4%)
   Jens Gehrlein                     2 (0.4%)
   Nishanth Menon                    2 (0.4%)
   Larry Johnson                     2 (0.4%)
   michael                           2 (0.4%)
   Gary Jennejohn                    2 (0.4%)
   Haiying Wang                      2 (0.4%)
   Kyungmin Park                     2 (0.4%)
   Ira Snyder                        2 (0.4%)
   Vivek Kutal                       1 (0.2%)
   Grzegorz Bernacki                 1 (0.2%)
   arun c                            1 (0.2%)
   Mikhail Zolotaryov                1 (0.2%)
   Norbert van Bolhuis               1 (0.2%)
   Yusuke.Goda                       1 (0.2%)
   Paul Gortmaker                    1 (0.2%)
   Ed Swarthout                      1 (0.2%)
   Mark Jackson                      1 (0.2%)
   Pieter Henning                    1 (0.2%)
   Hugo Villeneuve                   1 (0.2%)
   Derek Ou                          1 (0.2%)
   Peter Griffin                     1 (0.2%)
   Minkyu Kang                       1 (0.2%)
   Micha Kalfon                      1 (0.2%)
   Petri Lehtinen                    1 (0.2%)
   Poonam_Aggrwal-b10812             1 (0.2%)
   Srikanth Srinivasan               1 (0.2%)
   Atin Malaviya                     1 (0.2%)
   Carolyn Smith                     1 (0.2%)
   Adam Graham                       1 (0.2%)
   Sonic Zhang                       1 (0.2%)
   Simon Munton                      1 (0.2%)
   derek@siconix.com                 1 (0.2%)
   Ralph Kondziella                  1 (0.2%)
   Martha Marx                       1 (0.2%)
   Cliff Cai                         1 (0.2%)
   Gunnar Rangoy                     1 (0.2%)
   Olav Morken                       1 (0.2%)
   Tomasz Figa                       1 (0.2%)
   Andrew Dyer                       1 (0.2%)
   Stefan Althoefer                  1 (0.2%)
   Maxim Artamonov                   1 (0.2%)
   Brad Bozarth                      1 (0.2%)
   Yuri Tikhonov                     1 (0.2%)
   Peter Korsgaard                   1 (0.2%)
   Niklaus Giger                     1 (0.2%)
   Sergei Poselenov                  1 (0.2%)
   Schlaegl Manfred jun              1 (0.2%)
   Haavard Skinnemoen                1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Dirk Behme                        11275 (19.9%)
   Wolfgang Denk                     8001 (14.1%)
   Stefan Roese                      5794 (10.2%)
   Mike Frysinger                    4516 (8.0%)
   Heiko Schocher                    3620 (6.4%)
   Andy Fleming                      2180 (3.9%)
   Sonic Zhang                       1595 (2.8%)
   Abraham, Thomas                   1545 (2.7%)
   Michael Trimarchi                 1538 (2.7%)
   Alessandro Rubini                 1304 (2.3%)
   Ilya Yanok                        1304 (2.3%)
   Guennadi Liakhovetski             1303 (2.3%)
   Peter Tyser                       1280 (2.3%)
   Ron Madrid                        1243 (2.2%)
   Dirk Eibach                       927 (1.6%)
   Graeme Russ                       902 (1.6%)
   Kumar Gala                        876 (1.5%)
   Anton Vorontsov                   791 (1.4%)
   Cliff Cai                         729 (1.3%)
   Jean-Christophe PLAGNIOL-VILLARD  560 (1.0%)
   Yoshihiro Shimoda                 481 (0.8%)
   Martha Marx                       449 (0.8%)
   Kyungmin Park                     439 (0.8%)
   Becky Bruce                       369 (0.7%)
   michael                           368 (0.7%)
   Nobuhiro Iwamatsu                 358 (0.6%)
   Matthias Fuchs                    342 (0.6%)
   Wolfgang Grandegger               268 (0.5%)
   Haiying Wang                      196 (0.3%)
   Ralph Kondziella                  189 (0.3%)
   Richard Retanubun                 176 (0.3%)
   Michal Simek                      134 (0.2%)
   Remy Bohmer                       108 (0.2%)
   Hugo Villeneuve                   105 (0.2%)
   Dave Liu                          103 (0.2%)
   Rafal Jaworowski                  96 (0.2%)
   Nishanth Menon                    93 (0.2%)
   Tomasz Figa                       92 (0.2%)
   Larry Johnson                     86 (0.2%)
   Gary Jennejohn                    78 (0.1%)
   Tom Rix                           67 (0.1%)
   Ben Warren                        53 (0.1%)
   Adam Graham                       47 (0.1%)
   John Rigby                        43 (0.1%)
   Mark Jackson                      41 (0.1%)
   Micha Kalfon                      33 (0.1%)
   Valeriy Glushkov                  32 (0.1%)
   Srikanth Srinivasan               32 (0.1%)
   Gunnar Rangoy                     31 (0.1%)
   TsiChung Liew                     30 (0.1%)
   Pieter Henning                    30 (0.1%)
   Yuri Tikhonov                     30 (0.1%)
   Poonam_Aggrwal-b10812             25 (0.0%)
   Jon Smirl                         23 (0.0%)
   Jens Gehrlein                     23 (0.0%)
   Ladislav Michl                    22 (0.0%)
   Petri Lehtinen                    22 (0.0%)
   Andrew Dyer                       20 (0.0%)
   Bryan Wu                          16 (0.0%)
   Scott Wood                        16 (0.0%)
   Jerry Van Baren                   16 (0.0%)
   Peter Korsgaard                   14 (0.0%)
   Niklaus Giger                     14 (0.0%)
   Ira Snyder                        13 (0.0%)
   Kim Phillips                      11 (0.0%)
   Atin Malaviya                     11 (0.0%)
   Sergei Poselenov                  10 (0.0%)
   Anatolij Gustschin                8 (0.0%)
   Haavard Skinnemoen                7 (0.0%)
   Vivek Kutal                       6 (0.0%)
   Carolyn Smith                     5 (0.0%)
   Paul Gortmaker                    4 (0.0%)
   Minkyu Kang                       4 (0.0%)
   derek@siconix.com                 4 (0.0%)
   Brad Bozarth                      4 (0.0%)
   Schlaegl Manfred jun              4 (0.0%)
   arun c                            3 (0.0%)
   Shinya Kuribayashi                2 (0.0%)
   ksi@koi8.net                      2 (0.0%)
   Grzegorz Bernacki                 2 (0.0%)
   Ed Swarthout                      2 (0.0%)
   Mikhail Zolotaryov                1 (0.0%)
   Norbert van Bolhuis               1 (0.0%)
   Yusuke.Goda                       1 (0.0%)
   Derek Ou                          1 (0.0%)
   Peter Griffin                     1 (0.0%)
   Simon Munton                      1 (0.0%)
   Olav Morken                       1 (0.0%)
   Stefan Althoefer                  1 (0.0%)
   Maxim Artamonov                   1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Matthias Fuchs                    73 (0.9%)
   Tom Rix                           64 (0.8%)
   Ladislav Michl                    7 (0.1%)
   Haavard Skinnemoen                5 (0.1%)
   Becky Bruce                       4 (0.0%)
   Hugo Villeneuve                   4 (0.0%)
   Ben Warren                        4 (0.0%)
   Carolyn Smith                     3 (0.0%)
   Ira Snyder                        1 (0.0%)
   Paul Gortmaker                    1 (0.0%)
   Schlaegl Manfred jun              1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Kim Phillips                      32 (15.5%)
   Remy Bohmer                       29 (14.0%)
   Stefan Roese                      24 (11.6%)
   Ben Warren                        18 (8.7%)
   Scott Wood                        15 (7.2%)
   Nobuhiro Iwamatsu                 7 (3.4%)
   Mike Frysinger                    7 (3.4%)
   Jason Kridner                     5 (2.4%)
   Ravi Babu                         5 (2.4%)
   Swaminathan S                     5 (2.4%)
   Ajay Kumar Gupta                  5 (2.4%)
   Jean-Christophe PLAGNIOL-VILLARD  4 (1.9%)
   Wolfgang Denk                     4 (1.9%)
   Steve Sakoman                     3 (1.4%)
   Rafal Czubak                      3 (1.4%)
   Michael Trimarchi                 3 (1.4%)
   Derek Ou                          2 (1.0%)
   Gerald Van Baren                  2 (1.0%)
   Grazvydas Ignotas                 2 (1.0%)
   Paul Driveklepp                   2 (1.0%)
   Shinya Kuribayashi                2 (1.0%)
   Nishanth Menon                    2 (1.0%)
   Jens Gehrlein                     2 (1.0%)
   John Rigby                        2 (1.0%)
   Kumar Gala                        2 (1.0%)
   Matthias Fuchs                    1 (0.5%)
   Becky Bruce                       1 (0.5%)
   Olav Morken                       1 (0.5%)
   Arun C                            1 (0.5%)
   Poonam_Agarwal-b10812             1 (0.5%)
   Travis Wheatley                   1 (0.5%)
   Robin Getz                        1 (0.5%)
   Manikandan Pillai                 1 (0.5%)
   Stelian Pop                       1 (0.5%)
   Syed Mohammed Khasim              1 (0.5%)
   James Yang                        1 (0.5%)
   Tony Li                           1 (0.5%)
   Valeriy Glushkov                  1 (0.5%)
   Gunnar Rangoy                     1 (0.5%)
   Martha Marx                       1 (0.5%)
   Peter Tyser                       1 (0.5%)
   Dirk Eibach                       1 (0.5%)
   Guennadi Liakhovetski             1 (0.5%)
   Sonic Zhang                       1 (0.5%)
   Heiko Schocher                    1 (0.5%)
   ================================  =====


.. 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
   ================================  =====
   Joakim Tjernlund                  1 (33.3%)
   Huang Changming                   1 (33.3%)
   Suchit Lepcha                     1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Scott Wood                        1 (33.3%)
   Dave Liu                          1 (33.3%)
   Anton Vorontsov                   1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         102 (20.9%)
   Analog Devices                    97 (19.8%)
   Freescale                         76 (15.5%)
   (Unknown)                         31 (6.3%)
   jcrosoft                          20 (4.1%)
   Dirk Behme                        20 (4.1%)
   Renesas Electronics               13 (2.7%)
   RuggedCom                         12 (2.5%)
   Extreme Engineering Solutions     12 (2.5%)
   MontaVista                        10 (2.0%)
   Graeme Russ                       10 (2.0%)
   Texas Instruments                 9 (1.8%)
   ESD Electronics                   7 (1.4%)
   EmCraft Systems                   6 (1.2%)
   Xilinx                            6 (1.2%)
   Guntermann & Drunck               5 (1.0%)
   Semihalf Embedded Systems         5 (1.0%)
   Wind River                        4 (0.8%)
   Universita di Pavia               4 (0.8%)
   Sheldon Instruments               4 (0.8%)
   Samsung                           3 (0.6%)
   ACM                               2 (0.4%)
   Custom IDEAS                      2 (0.4%)
   OVRO                              2 (0.4%)
   Siconix Inc.                      2 (0.4%)
   TQ Systems                        2 (0.4%)
   Jon Smirl                         2 (0.4%)
   Sergey Kubushyn                   2 (0.4%)
   Oce Technologies                  2 (0.4%)
   AMCC                              1 (0.2%)
   Argos Meßtechnik GmbH             1 (0.2%)
   Atmel                             1 (0.2%)
   Azingo                            1 (0.2%)
   Inoi Oy                           1 (0.2%)
   Lyrtech                           1 (0.2%)
   Mercury IMC Ltd.                  1 (0.2%)
   MPC Data                          1 (0.2%)
   NEC                               1 (0.2%)
   Netstal-Maschinen                 1 (0.2%)
   RightHand Technologies            1 (0.2%)
   Silicon Turnkey Express           1 (0.2%)
   Tektronix                         1 (0.2%)
   VASTech SA                        1 (0.2%)
   Radiient Technologies             1 (0.2%)
   Barco                             1 (0.2%)
   Micha Kalfon                      1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         19072 (33.7%)
   Dirk Behme                        11275 (19.9%)
   Analog Devices                    6856 (12.1%)
   Freescale                         3883 (6.9%)
   (Unknown)                         2161 (3.8%)
   Texas Instruments                 1638 (2.9%)
   EmCraft Systems                   1344 (2.4%)
   Universita di Pavia               1304 (2.3%)
   Extreme Engineering Solutions     1280 (2.3%)
   Sheldon Instruments               1243 (2.2%)
   Guntermann & Drunck               927 (1.6%)
   Graeme Russ                       902 (1.6%)
   Renesas Electronics               840 (1.5%)
   MontaVista                        791 (1.4%)
   jcrosoft                          560 (1.0%)
   Silicon Turnkey Express           449 (0.8%)
   Samsung                           443 (0.8%)
   ESD Electronics                   342 (0.6%)
   Argos Meßtechnik GmbH             189 (0.3%)
   RuggedCom                         176 (0.3%)
   Xilinx                            134 (0.2%)
   Oce Technologies                  108 (0.2%)
   Lyrtech                           105 (0.2%)
   Semihalf Embedded Systems         98 (0.2%)
   ACM                               86 (0.2%)
   Wind River                        71 (0.1%)
   AMCC                              47 (0.1%)
   Mercury IMC Ltd.                  41 (0.1%)
   Micha Kalfon                      33 (0.1%)
   VASTech SA                        30 (0.1%)
   TQ Systems                        23 (0.0%)
   Jon Smirl                         23 (0.0%)
   Inoi Oy                           22 (0.0%)
   RightHand Technologies            20 (0.0%)
   Custom IDEAS                      16 (0.0%)
   Netstal-Maschinen                 14 (0.0%)
   Barco                             14 (0.0%)
   OVRO                              13 (0.0%)
   Atmel                             7 (0.0%)
   Azingo                            6 (0.0%)
   Siconix Inc.                      5 (0.0%)
   Tektronix                         5 (0.0%)
   Radiient Technologies             4 (0.0%)
   Sergey Kubushyn                   2 (0.0%)
   MPC Data                          1 (0.0%)
   NEC                               1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         56 (27.1%)
   DENX Software Engineering         30 (14.5%)
   Oce Technologies                  29 (14.0%)
   (Unknown)                         28 (13.5%)
   Texas Instruments                 24 (11.6%)
   Analog Devices                    9 (4.3%)
   Nobuhiro Iwamatsu                 7 (3.4%)
   jcrosoft                          4 (1.9%)
   Semihalf Embedded Systems         3 (1.4%)
   Sakoman Inc.                      3 (1.4%)
   TQ Systems                        2 (1.0%)
   Custom IDEAS                      2 (1.0%)
   Siconix Inc.                      2 (1.0%)
   Grazvydas Ignotas                 2 (1.0%)
   Extreme Engineering Solutions     1 (0.5%)
   Guntermann & Drunck               1 (0.5%)
   Silicon Turnkey Express           1 (0.5%)
   ESD Electronics                   1 (0.5%)
   Mistral                           1 (0.5%)
   Stelian Pop                       1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         17 (18.7%)
   Freescale                         12 (13.2%)
   DENX Software Engineering         7 (7.7%)
   Analog Devices                    4 (4.4%)
   EmCraft Systems                   3 (3.3%)
   Renesas Electronics               3 (3.3%)
   Texas Instruments                 2 (2.2%)
   Semihalf Embedded Systems         2 (2.2%)
   Siconix Inc.                      2 (2.2%)
   Samsung                           2 (2.2%)
   Wind River                        2 (2.2%)
   Oce Technologies                  1 (1.1%)
   jcrosoft                          1 (1.1%)
   TQ Systems                        1 (1.1%)
   Custom IDEAS                      1 (1.1%)
   Extreme Engineering Solutions     1 (1.1%)
   Guntermann & Drunck               1 (1.1%)
   Silicon Turnkey Express           1 (1.1%)
   ESD Electronics                   1 (1.1%)
   Dirk Behme                        1 (1.1%)
   Universita di Pavia               1 (1.1%)
   Sheldon Instruments               1 (1.1%)
   Graeme Russ                       1 (1.1%)
   MontaVista                        1 (1.1%)
   Argos Meßtechnik GmbH             1 (1.1%)
   RuggedCom                         1 (1.1%)
   Xilinx                            1 (1.1%)
   Lyrtech                           1 (1.1%)
   ACM                               1 (1.1%)
   AMCC                              1 (1.1%)
   Mercury IMC Ltd.                  1 (1.1%)
   Micha Kalfon                      1 (1.1%)
   VASTech SA                        1 (1.1%)
   Jon Smirl                         1 (1.1%)
   Inoi Oy                           1 (1.1%)
   RightHand Technologies            1 (1.1%)
   Netstal-Maschinen                 1 (1.1%)
   Barco                             1 (1.1%)
   OVRO                              1 (1.1%)
   Atmel                             1 (1.1%)
   Azingo                            1 (1.1%)
   Tektronix                         1 (1.1%)
   Radiient Technologies             1 (1.1%)
   Sergey Kubushyn                   1 (1.1%)
   MPC Data                          1 (1.1%)
   NEC                               1 (1.1%)
   ================================  =====
