:orphan:

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

* Processed 531 csets from 90 developers

* 39 employers found

* A total of 51428 lines added, 26561 removed (delta 24867)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Kumar Gala                        54 (10.2%)
   Peter Tyser                       46 (8.7%)
   Wolfgang Denk                     37 (7.0%)
   Mike Frysinger                    31 (5.8%)
   Sandeep Paulraj                   29 (5.5%)
   Stefan Roese                      22 (4.1%)
   Paul Gortmaker                    20 (3.8%)
   Poonam Aggrwal                    16 (3.0%)
   Anton Vorontsov                   16 (3.0%)
   Prafulla Wadaskar                 14 (2.6%)
   Graeme Russ                       14 (2.6%)
   Mingkai Hu                        12 (2.3%)
   Simon Kagstrom                    11 (2.1%)
   Matthias Fuchs                    8 (1.5%)
   Eric Millbrandt                   8 (1.5%)
   Alessandro Rubini                 8 (1.5%)
   Michal Simek                      7 (1.3%)
   Ben Warren                        7 (1.3%)
   Remy Bohmer                       6 (1.1%)
   Marcel Ziswiler                   6 (1.1%)
   Tom Rix                           6 (1.1%)
   Niklaus Giger                     6 (1.1%)
   Robin Getz                        6 (1.1%)
   Albin Tonnerre                    6 (1.1%)
   Heiko Schocher                    5 (0.9%)
   Minkyu Kang                       5 (0.9%)
   Kevin Morfitt                     5 (0.9%)
   Joakim Tjernlund                  5 (0.9%)
   Scott Wood                        5 (0.9%)
   Detlev Zundel                     4 (0.8%)
   Nishanth Menon                    4 (0.8%)
   Dipen Dudhat                      4 (0.8%)
   Timur Tabi                        4 (0.8%)
   Ed Swarthout                      3 (0.6%)
   Kim Phillips                      3 (0.6%)
   Robert P. J. Day                  3 (0.6%)
   Mike Rapoport                     3 (0.6%)
   Dave Liu                          3 (0.6%)
   Nobuhiro Iwamatsu                 3 (0.6%)
   Eric Benard                       3 (0.6%)
   Martha Stan                       3 (0.6%)
   Kyungmin Park                     3 (0.6%)
   Olof Johansson                    3 (0.6%)
   Luigi 'Comio' Mantellini          3 (0.6%)
   Jean-Christophe PLAGNIOL-VILLARD  3 (0.6%)
   Magnus Lilja                      2 (0.4%)
   Becky Bruce                       2 (0.4%)
   Scott McNutt                      2 (0.4%)
   javier Martin                     2 (0.4%)
   Vivek Mahajan                     2 (0.4%)
   Steve Sakoman                     2 (0.4%)
   Daniel Mack                       2 (0.4%)
   Felix Radensky                    2 (0.4%)
   Werner Pfister                    2 (0.4%)
   Dirk Eibach                       2 (0.4%)
   Roy Zang                          2 (0.4%)
   Ilya Yanok                        2 (0.4%)
   TsiChung Liew                     2 (0.4%)
   Peter Korsgaard                   1 (0.2%)
   Graeme Smecher                    1 (0.2%)
   Daniel Hobi                       1 (0.2%)
   Evan Samanas                      1 (0.2%)
   Michael Brandt                    1 (0.2%)
   Pratap Chandu                     1 (0.2%)
   Sanjeev Premi                     1 (0.2%)
   Ira W. Snyder                     1 (0.2%)
   Grazvydas Ignotas                 1 (0.2%)
   Renato Andreola                   1 (0.2%)
   Jason McMullan                    1 (0.2%)
   Po-Yu Chuang                      1 (0.2%)
   Mark Jackson                      1 (0.2%)
   Ron Lee                           1 (0.2%)
   Hui.Tang                          1 (0.2%)
   Sergey Mironov                    1 (0.2%)
   Leon Woestenberg                  1 (0.2%)
   Dirk Behme                        1 (0.2%)
   Daniel Gorsulowski                1 (0.2%)
   Mike Nuss                         1 (0.2%)
   James Clough                      1 (0.2%)
   Shinya Kuribayashi                1 (0.2%)
   Ken MacLeod                       1 (0.2%)
   Rupjyoti Sarmah                   1 (0.2%)
   Paul Gibson                       1 (0.2%)
   Ilko Iliev                        1 (0.2%)
   Frederik Kriewitz                 1 (0.2%)
   Giuseppe CONDORELLI               1 (0.2%)
   Harald Krapfenbauer               1 (0.2%)
   Michael Hennerich                 1 (0.2%)
   Alex Dubov                        1 (0.2%)
   Matthias Kaehlcke                 1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     9842 (16.2%)
   Kumar Gala                        7427 (12.2%)
   Stefan Roese                      4785 (7.9%)
   Minkyu Kang                       3208 (5.3%)
   Tom Rix                           2884 (4.7%)
   Kevin Morfitt                     2483 (4.1%)
   Peter Tyser                       2441 (4.0%)
   Niklaus Giger                     2214 (3.6%)
   Poonam Aggrwal                    2140 (3.5%)
   Prafulla Wadaskar                 2052 (3.4%)
   Olof Johansson                    1913 (3.1%)
   Sandeep Paulraj                   1519 (2.5%)
   Ilya Yanok                        1510 (2.5%)
   Graeme Russ                       1455 (2.4%)
   Albin Tonnerre                    1369 (2.3%)
   Ben Warren                        1360 (2.2%)
   Simon Kagstrom                    957 (1.6%)
   Frederik Kriewitz                 921 (1.5%)
   Mingkai Hu                        877 (1.4%)
   Mike Frysinger                    874 (1.4%)
   Michal Simek                      842 (1.4%)
   Eric Millbrandt                   824 (1.4%)
   Paul Gortmaker                    746 (1.2%)
   Heiko Schocher                    695 (1.1%)
   Luigi 'Comio' Mantellini          460 (0.8%)
   Anton Vorontsov                   416 (0.7%)
   Harald Krapfenbauer               411 (0.7%)
   Dipen Dudhat                      368 (0.6%)
   Remy Bohmer                       345 (0.6%)
   Jason McMullan                    339 (0.6%)
   Matthias Fuchs                    314 (0.5%)
   Alessandro Rubini                 292 (0.5%)
   Felix Radensky                    255 (0.4%)
   Martha Stan                       241 (0.4%)
   Kim Phillips                      234 (0.4%)
   Scott McNutt                      198 (0.3%)
   Matthias Kaehlcke                 151 (0.2%)
   Marcel Ziswiler                   134 (0.2%)
   Robin Getz                        130 (0.2%)
   Joakim Tjernlund                  128 (0.2%)
   Po-Yu Chuang                      125 (0.2%)
   Timur Tabi                        78 (0.1%)
   Becky Bruce                       78 (0.1%)
   Nobuhiro Iwamatsu                 69 (0.1%)
   Daniel Gorsulowski                66 (0.1%)
   Kyungmin Park                     51 (0.1%)
   Steve Sakoman                     44 (0.1%)
   Vivek Mahajan                     38 (0.1%)
   Detlev Zundel                     36 (0.1%)
   Ed Swarthout                      33 (0.1%)
   Peter Korsgaard                   32 (0.1%)
   Dirk Behme                        28 (0.0%)
   Dirk Eibach                       26 (0.0%)
   Michael Hennerich                 24 (0.0%)
   Scott Wood                        22 (0.0%)
   Nishanth Menon                    20 (0.0%)
   Roy Zang                          19 (0.0%)
   Dave Liu                          16 (0.0%)
   Ira W. Snyder                     15 (0.0%)
   Ken MacLeod                       15 (0.0%)
   Rupjyoti Sarmah                   15 (0.0%)
   Robert P. J. Day                  14 (0.0%)
   TsiChung Liew                     14 (0.0%)
   Michael Brandt                    13 (0.0%)
   Jean-Christophe PLAGNIOL-VILLARD  12 (0.0%)
   javier Martin                     12 (0.0%)
   Mike Rapoport                     9 (0.0%)
   Ron Lee                           9 (0.0%)
   James Clough                      9 (0.0%)
   Pratap Chandu                     8 (0.0%)
   Sanjeev Premi                     7 (0.0%)
   Ilko Iliev                        7 (0.0%)
   Evan Samanas                      6 (0.0%)
   Werner Pfister                    5 (0.0%)
   Renato Andreola                   5 (0.0%)
   Leon Woestenberg                  5 (0.0%)
   Eric Benard                       4 (0.0%)
   Magnus Lilja                      4 (0.0%)
   Daniel Mack                       4 (0.0%)
   Hui.Tang                          4 (0.0%)
   Giuseppe CONDORELLI               3 (0.0%)
   Alex Dubov                        3 (0.0%)
   Grazvydas Ignotas                 2 (0.0%)
   Sergey Mironov                    2 (0.0%)
   Graeme Smecher                    1 (0.0%)
   Daniel Hobi                       1 (0.0%)
   Mark Jackson                      1 (0.0%)
   Mike Nuss                         1 (0.0%)
   Shinya Kuribayashi                1 (0.0%)
   Paul Gibson                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Kumar Gala                        2543 (9.6%)
   Peter Tyser                       1595 (6.0%)
   Kevin Morfitt                     888 (3.3%)
   Michal Simek                      799 (3.0%)
   Stefan Roese                      334 (1.3%)
   Scott McNutt                      196 (0.7%)
   Marcel Ziswiler                   96 (0.4%)
   Becky Bruce                       78 (0.3%)
   Nobuhiro Iwamatsu                 15 (0.1%)
   Pratap Chandu                     8 (0.0%)
   Peter Korsgaard                   3 (0.0%)
   Robert P. J. Day                  3 (0.0%)
   Shinya Kuribayashi                1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Kumar Gala                        76 (38.0%)
   Stefan Roese                      24 (12.0%)
   Ben Warren                        23 (11.5%)
   Wolfgang Denk                     18 (9.0%)
   Scott Wood                        9 (4.5%)
   Kim Phillips                      9 (4.5%)
   Mike Frysinger                    7 (3.5%)
   Minkyu Kang                       5 (2.5%)
   Tom Rix                           3 (1.5%)
   HeungJun, Kim                     2 (1.0%)
   Sneha Narnakaje                   2 (1.0%)
   Eric Benard                       2 (1.0%)
   Detlev Zundel                     2 (1.0%)
   Peter Tyser                       1 (0.5%)
   Michal Simek                      1 (0.5%)
   Scott McNutt                      1 (0.5%)
   Jean-Christophe PLAGNIOL-VILLARD  1 (0.5%)
   Takashi Yoshii                    1 (0.5%)
   Daniel Hellstrom                  1 (0.5%)
   David Brownell                    1 (0.5%)
   Kevin Morfitt                     1 (0.5%)
   Stephen Neuendorffer              1 (0.5%)
   Gao Guanhua                       1 (0.5%)
   Dirk Behme                        1 (0.5%)
   Nishanth Menon                    1 (0.5%)
   Kyungmin Park                     1 (0.5%)
   Mingkai Hu                        1 (0.5%)
   Albin Tonnerre                    1 (0.5%)
   Sandeep Paulraj                   1 (0.5%)
   Prafulla Wadaskar                 1 (0.5%)
   Poonam Aggrwal                    1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Roland Lezuo                      1 (100.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     3 (37.5%)
   Heiko Schocher                    2 (25.0%)
   Kumar Gala                        1 (12.5%)
   Peter Tyser                       1 (12.5%)
   Mike Rapoport                     1 (12.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marcel Ziswiler                   2 (25.0%)
   Peter Tyser                       1 (12.5%)
   Ben Warren                        1 (12.5%)
   Mike Frysinger                    1 (12.5%)
   Kevin Morfitt                     1 (12.5%)
   Michael Brandt                    1 (12.5%)
   Timur Tabi                        1 (12.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Peter Gombos                      1 (33.3%)
   Guenter Koellner                  1 (33.3%)
   Ed Swarthout                      1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Peter Tyser                       1 (33.3%)
   Mike Frysinger                    1 (33.3%)
   Wolfgang Denk                     1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         110 (20.7%)
   (Unknown)                         81 (15.3%)
   DENX Software Engineering         68 (12.8%)
   Extreme Engineering Solutions     47 (8.9%)
   Analog Devices                    38 (7.2%)
   Texas Instruments                 34 (6.4%)
   Wind River                        26 (4.9%)
   MontaVista                        16 (3.0%)
   Marvell                           14 (2.6%)
   Graeme Russ                       14 (2.6%)
   ESD Electronics                   9 (1.7%)
   Samsung                           8 (1.5%)
   Xilinx                            7 (1.3%)
   Free Electrons                    6 (1.1%)
   Oce Technologies                  6 (1.1%)
   Transmode Systems                 5 (0.9%)
   Universita di Pavia               4 (0.8%)
   CompuLab                          3 (0.6%)
   IBM                               3 (0.6%)
   Industrie Dial Face               3 (0.6%)
   jcrosoft                          3 (0.6%)
   Silicon Turnkey Express           3 (0.6%)
   Nobuhiro Iwamatsu                 3 (0.6%)
   EmCraft Systems                   2 (0.4%)
   Guntermann & Drunck               2 (0.4%)
   Psyent                            2 (0.4%)
   Sakoman Inc.                      2 (0.4%)
   AMCC                              1 (0.2%)
   Debian.org                        1 (0.2%)
   Mercury IMC Ltd.                  1 (0.2%)
   NetApp                            1 (0.2%)
   Netstal-Maschinen                 1 (0.2%)
   OVRO                              1 (0.2%)
   Ronetix                           1 (0.2%)
   ST Microelectronics               1 (0.2%)
   Terascala                         1 (0.2%)
   Dirk Behme                        1 (0.2%)
   Barco                             1 (0.2%)
   Grazvydas Ignotas                 1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         15358 (25.3%)
   Freescale                         11330 (18.6%)
   (Unknown)                         10165 (16.7%)
   Wind River                        3630 (6.0%)
   Samsung                           3259 (5.4%)
   Extreme Engineering Solutions     2447 (4.0%)
   Marvell                           2052 (3.4%)
   IBM                               1913 (3.1%)
   Texas Instruments                 1546 (2.5%)
   EmCraft Systems                   1510 (2.5%)
   Graeme Russ                       1455 (2.4%)
   Free Electrons                    1369 (2.3%)
   Analog Devices                    1028 (1.7%)
   Xilinx                            842 (1.4%)
   Industrie Dial Face               460 (0.8%)
   MontaVista                        416 (0.7%)
   ESD Electronics                   380 (0.6%)
   Oce Technologies                  345 (0.6%)
   NetApp                            339 (0.6%)
   Silicon Turnkey Express           241 (0.4%)
   Psyent                            198 (0.3%)
   Transmode Systems                 128 (0.2%)
   Universita di Pavia               86 (0.1%)
   Nobuhiro Iwamatsu                 69 (0.1%)
   Sakoman Inc.                      44 (0.1%)
   Barco                             32 (0.1%)
   Dirk Behme                        28 (0.0%)
   Guntermann & Drunck               26 (0.0%)
   AMCC                              15 (0.0%)
   OVRO                              15 (0.0%)
   jcrosoft                          12 (0.0%)
   CompuLab                          9 (0.0%)
   Debian.org                        9 (0.0%)
   Ronetix                           7 (0.0%)
   ST Microelectronics               3 (0.0%)
   Grazvydas Ignotas                 2 (0.0%)
   Mercury IMC Ltd.                  1 (0.0%)
   Netstal-Maschinen                 1 (0.0%)
   Terascala                         1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         97 (48.5%)
   DENX Software Engineering         44 (22.0%)
   (Unknown)                         29 (14.5%)
   Samsung                           8 (4.0%)
   Analog Devices                    7 (3.5%)
   Texas Instruments                 4 (2.0%)
   Wind River                        3 (1.5%)
   Extreme Engineering Solutions     1 (0.5%)
   Marvell                           1 (0.5%)
   Free Electrons                    1 (0.5%)
   Xilinx                            1 (0.5%)
   Psyent                            1 (0.5%)
   Dirk Behme                        1 (0.5%)
   jcrosoft                          1 (0.5%)
   Gaisler Research                  1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         32 (34.8%)
   Freescale                         12 (13.0%)
   DENX Software Engineering         4 (4.3%)
   Analog Devices                    3 (3.3%)
   Texas Instruments                 3 (3.3%)
   Samsung                           2 (2.2%)
   Wind River                        2 (2.2%)
   Extreme Engineering Solutions     2 (2.2%)
   ESD Electronics                   2 (2.2%)
   Marvell                           1 (1.1%)
   Free Electrons                    1 (1.1%)
   Xilinx                            1 (1.1%)
   Psyent                            1 (1.1%)
   Dirk Behme                        1 (1.1%)
   jcrosoft                          1 (1.1%)
   IBM                               1 (1.1%)
   EmCraft Systems                   1 (1.1%)
   Graeme Russ                       1 (1.1%)
   Industrie Dial Face               1 (1.1%)
   MontaVista                        1 (1.1%)
   Oce Technologies                  1 (1.1%)
   NetApp                            1 (1.1%)
   Silicon Turnkey Express           1 (1.1%)
   Transmode Systems                 1 (1.1%)
   Universita di Pavia               1 (1.1%)
   Nobuhiro Iwamatsu                 1 (1.1%)
   Sakoman Inc.                      1 (1.1%)
   Barco                             1 (1.1%)
   Guntermann & Drunck               1 (1.1%)
   AMCC                              1 (1.1%)
   OVRO                              1 (1.1%)
   CompuLab                          1 (1.1%)
   Debian.org                        1 (1.1%)
   Ronetix                           1 (1.1%)
   ST Microelectronics               1 (1.1%)
   Grazvydas Ignotas                 1 (1.1%)
   Mercury IMC Ltd.                  1 (1.1%)
   Netstal-Maschinen                 1 (1.1%)
   Terascala                         1 (1.1%)
   ================================  =====
