:orphan:

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

* Processed 531 changesets 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%)
   ================================  =====
