:orphan:

Release Statistics for U-Boot v2010.12
======================================

* Processed 777 changesets from 111 developers

* 31 employers found

* A total of 75570 lines added, 90858 removed (delta -15288)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     90 (11.6%)
   Mike Frysinger                    58 (7.5%)
   Stefan Roese                      41 (5.3%)
   Marek Vasut                       41 (5.3%)
   Heiko Schocher                    39 (5.0%)
   Peter Tyser                       36 (4.6%)
   Stefano Babic                     32 (4.1%)
   Andreas Bießmann                  22 (2.8%)
   Kumar Gala                        21 (2.7%)
   Steve Sakoman                     21 (2.7%)
   Nobuhiro Iwamatsu                 20 (2.6%)
   Graeme Russ                       20 (2.6%)
   Ben Gardiner                      15 (1.9%)
   Ilya Yanok                        14 (1.8%)
   Reinhard Meyer                    12 (1.5%)
   Scott Wood                        12 (1.5%)
   Albert Aribaud                    12 (1.5%)
   Timur Tabi                        11 (1.4%)
   Prafulla Wadaskar                 11 (1.4%)
   Vitaly Kuzmichev                  11 (1.4%)
   Enric Balletbo i Serra            10 (1.3%)
   John Rigby                        9 (1.2%)
   Sandeep Paulraj                   9 (1.2%)
   Dirk Behme                        8 (1.0%)
   Anatolij Gustschin                8 (1.0%)
   Joakim Tjernlund                  8 (1.0%)
   York Sun                          8 (1.0%)
   John Schmoller                    7 (0.9%)
   Haiying Wang                      7 (0.9%)
   Thomas Weber                      7 (0.9%)
   Asen Dimov                        6 (0.8%)
   Liu Hui-R64343                    6 (0.8%)
   Daniel Hellstrom                  6 (0.8%)
   Kim Phillips                      5 (0.6%)
   Lei Wen                           5 (0.6%)
   Mikhail Kshevetskiy               5 (0.6%)
   Sukumar Ghorai                    5 (0.6%)
   Michal Simek                      5 (0.6%)
   Jerry Huang                       4 (0.5%)
   Matt Waddel                       4 (0.5%)
   Minkyu Kang                       4 (0.5%)
   Sanjeev Premi                     4 (0.5%)
   Nishanth Menon                    3 (0.4%)
   Vaibhav Hiremath                  3 (0.4%)
   Eric Cooper                       3 (0.4%)
   Grazvydas Ignotas                 3 (0.4%)
   Matthias Weisser                  3 (0.4%)
   Shawn Guo                         3 (0.4%)
   Alexander Stein                   3 (0.4%)
   Li Yang                           2 (0.3%)
   Nick Thompson                     2 (0.3%)
   Macpaul Lin                       2 (0.3%)
   Kristoffer Ericson                2 (0.3%)
   Sekhar Nori                       2 (0.3%)
   Sebastien Carlier                 2 (0.3%)
   Matthew McClintock                2 (0.3%)
   Ben Warren                        2 (0.3%)
   Gray Remlin                       2 (0.3%)
   Daniel Hobi                       2 (0.3%)
   Darius Augulis                    2 (0.3%)
   Andre Schwarz                     2 (0.3%)
   Stephan Linz                      2 (0.3%)
   Tirumala Marri                    2 (0.3%)
   Peter Meerwald                    2 (0.3%)
   clagix@gmail.com                  1 (0.1%)
   Baidu Boy                         1 (0.1%)
   P.V.Suresh                        1 (0.1%)
   David Müller (ELSOFT AG)          1 (0.1%)
   Ricardo Ribalda                   1 (0.1%)
   Stefan Popa                       1 (0.1%)
   Horst Kronstorfer                 1 (0.1%)
   Semih Hazar                       1 (0.1%)
   François Revol                    1 (0.1%)
   Becky Bruce                       1 (0.1%)
   Priyanka Jain                     1 (0.1%)
   Alagu Sankar                      1 (0.1%)
   Koen Kooi                         1 (0.1%)
   Tanmay Upadhyay                   1 (0.1%)
   C Nauman                          1 (0.1%)
   Sughosh Ganu                      1 (0.1%)
   Dirk Eibach                       1 (0.1%)
   Florian Fainelli                  1 (0.1%)
   Magnus Sjalander                  1 (0.1%)
   Aaron Sierra                      1 (0.1%)
   Ira Snyder                        1 (0.1%)
   Richard Retanubun                 1 (0.1%)
   Jens Scharsig                     1 (0.1%)
   Magnus Lilja                      1 (0.1%)
   Jaehoon Chung                     1 (0.1%)
   Thomas Chou                       1 (0.1%)
   Damien Dusha                      1 (0.1%)
   Loic Minier                       1 (0.1%)
   mark.vels@team-embedded.nl        1 (0.1%)
   Bryan Wu                          1 (0.1%)
   Ludovic Courtès                   1 (0.1%)
   Brent Darley                      1 (0.1%)
   Sergei Poselenov                  1 (0.1%)
   Mikhail Zolotaryov                1 (0.1%)
   Reinhard Meyer (-VC)              1 (0.1%)
   Emil Medve                        1 (0.1%)
   David Jander                      1 (0.1%)
   Marc-André Hébert                 1 (0.1%)
   Jeff Dischler                     1 (0.1%)
   Graeme Smecher                    1 (0.1%)
   Rupjyoti Sarmah                   1 (0.1%)
   Sascha Laue                       1 (0.1%)
   Wojtek Skulski                    1 (0.1%)
   Torkel Lundgren                   1 (0.1%)
   Victor Gallardo                   1 (0.1%)
   Matthias Fuchs                    1 (0.1%)
   Remy Bohmer                       1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     34518 (24.8%)
   Mike Frysinger                    30577 (21.9%)
   Marek Vasut                       13179 (9.5%)
   Stefano Babic                     11065 (7.9%)
   Stefan Roese                      5022 (3.6%)
   Heiko Schocher                    4739 (3.4%)
   Remy Bohmer                       4425 (3.2%)
   Peter Tyser                       4210 (3.0%)
   Reinhard Meyer                    2547 (1.8%)
   Timur Tabi                        1764 (1.3%)
   Dirk Eibach                       1544 (1.1%)
   Ilya Yanok                        1467 (1.1%)
   Albert Aribaud                    1465 (1.1%)
   Prafulla Wadaskar                 1438 (1.0%)
   Sebastien Carlier                 1384 (1.0%)
   Eric Cooper                       1303 (0.9%)
   John Schmoller                    1287 (0.9%)
   Enric Balletbo i Serra            1205 (0.9%)
   Sascha Laue                       1090 (0.8%)
   C Nauman                          1016 (0.7%)
   Andreas Bießmann                  989 (0.7%)
   Matt Waddel                       863 (0.6%)
   Graeme Russ                       835 (0.6%)
   York Sun                          810 (0.6%)
   Sergei Poselenov                  777 (0.6%)
   Scott Wood                        749 (0.5%)
   Tirumala Marri                    648 (0.5%)
   Kumar Gala                        644 (0.5%)
   Peter Meerwald                    604 (0.4%)
   Kristoffer Ericson                553 (0.4%)
   Ben Gardiner                      550 (0.4%)
   Vitaly Kuzmichev                  514 (0.4%)
   Sukumar Ghorai                    483 (0.3%)
   Mikhail Kshevetskiy               454 (0.3%)
   Steve Sakoman                     385 (0.3%)
   Wojtek Skulski                    368 (0.3%)
   Damien Dusha                      318 (0.2%)
   John Rigby                        300 (0.2%)
   Michal Simek                      253 (0.2%)
   Liu Hui-R64343                    252 (0.2%)
   Nobuhiro Iwamatsu                 242 (0.2%)
   Anatolij Gustschin                212 (0.2%)
   Grazvydas Ignotas                 187 (0.1%)
   Haiying Wang                      143 (0.1%)
   Koen Kooi                         140 (0.1%)
   Macpaul Lin                       118 (0.1%)
   Daniel Hellstrom                  113 (0.1%)
   Darius Augulis                    113 (0.1%)
   Nishanth Menon                    88 (0.1%)
   Sandeep Paulraj                   83 (0.1%)
   Joakim Tjernlund                  71 (0.1%)
   Alagu Sankar                      71 (0.1%)
   Thomas Weber                      65 (0.0%)
   Shawn Guo                         65 (0.0%)
   Sekhar Nori                       59 (0.0%)
   Nick Thompson                     57 (0.0%)
   Lei Wen                           56 (0.0%)
   Aaron Sierra                      51 (0.0%)
   Asen Dimov                        45 (0.0%)
   Minkyu Kang                       44 (0.0%)
   Ira Snyder                        44 (0.0%)
   Sughosh Ganu                      43 (0.0%)
   Torkel Lundgren                   42 (0.0%)
   Mikhail Zolotaryov                41 (0.0%)
   Sanjeev Premi                     40 (0.0%)
   Dirk Behme                        39 (0.0%)
   Ludovic Courtès                   35 (0.0%)
   Li Yang                           30 (0.0%)
   Matthias Weisser                  26 (0.0%)
   Matthias Fuchs                    26 (0.0%)
   Alexander Stein                   25 (0.0%)
   Ben Warren                        24 (0.0%)
   Thomas Chou                       24 (0.0%)
   Jens Scharsig                     20 (0.0%)
   Gray Remlin                       17 (0.0%)
   Magnus Lilja                      16 (0.0%)
   Jaehoon Chung                     16 (0.0%)
   Bryan Wu                          16 (0.0%)
   Kim Phillips                      14 (0.0%)
   Rupjyoti Sarmah                   13 (0.0%)
   Vaibhav Hiremath                  11 (0.0%)
   Matthew McClintock                11 (0.0%)
   Daniel Hobi                       11 (0.0%)
   Magnus Sjalander                  11 (0.0%)
   Tanmay Upadhyay                   10 (0.0%)
   David Müller (ELSOFT AG)          9 (0.0%)
   Emil Medve                        9 (0.0%)
   David Jander                      9 (0.0%)
   Graeme Smecher                    9 (0.0%)
   Jerry Huang                       8 (0.0%)
   clagix@gmail.com                  8 (0.0%)
   Andre Schwarz                     7 (0.0%)
   Baidu Boy                         6 (0.0%)
   François Revol                    6 (0.0%)
   Stephan Linz                      5 (0.0%)
   P.V.Suresh                        4 (0.0%)
   Semih Hazar                       4 (0.0%)
   Priyanka Jain                     4 (0.0%)
   Florian Fainelli                  4 (0.0%)
   Reinhard Meyer (-VC)              4 (0.0%)
   Marc-André Hébert                 4 (0.0%)
   Richard Retanubun                 3 (0.0%)
   mark.vels@team-embedded.nl        3 (0.0%)
   Victor Gallardo                   3 (0.0%)
   Stefan Popa                       2 (0.0%)
   Brent Darley                      2 (0.0%)
   Ricardo Ribalda                   1 (0.0%)
   Horst Kronstorfer                 1 (0.0%)
   Becky Bruce                       1 (0.0%)
   Loic Minier                       1 (0.0%)
   Jeff Dischler                     1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     23946 (26.4%)
   Mike Frysinger                    13431 (14.8%)
   Marek Vasut                       6370 (7.0%)
   Peter Tyser                       3131 (3.4%)
   Stefan Roese                      962 (1.1%)
   Prafulla Wadaskar                 645 (0.7%)
   Timur Tabi                        635 (0.7%)
   Andreas Bießmann                  471 (0.5%)
   Mikhail Kshevetskiy               411 (0.5%)
   Kumar Gala                        248 (0.3%)
   Scott Wood                        149 (0.2%)
   Grazvydas Ignotas                 135 (0.1%)
   Sughosh Ganu                      41 (0.0%)
   Graeme Russ                       34 (0.0%)
   Alagu Sankar                      32 (0.0%)
   Thomas Weber                      31 (0.0%)
   Matthias Fuchs                    21 (0.0%)
   Nick Thompson                     15 (0.0%)
   Liu Hui-R64343                    9 (0.0%)
   Jens Scharsig                     9 (0.0%)
   Semih Hazar                       4 (0.0%)
   Richard Retanubun                 3 (0.0%)
   Marc-André Hébert                 1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Kumar Gala                        51 (24.5%)
   Sandeep Paulraj                   45 (21.6%)
   Ben Warren                        14 (6.7%)
   Wolfgang Denk                     13 (6.2%)
   Mike Frysinger                    12 (5.8%)
   Peter Tyser                       11 (5.3%)
   Kim Phillips                      11 (5.3%)
   Stefan Roese                      10 (4.8%)
   Anatolij Gustschin                6 (2.9%)
   Reinhard Meyer                    5 (2.4%)
   Kyungmin Park                     4 (1.9%)
   Chris Moore                       2 (1.0%)
   Alessandro Rubini                 2 (1.0%)
   Minkyu Kang                       2 (1.0%)
   Michal Simek                      2 (1.0%)
   Steve Sakoman                     2 (1.0%)
   Heiko Schocher                    2 (1.0%)
   Gray Remlin                       1 (0.5%)
   Ricardo Ribalda Delgado           1 (0.5%)
   Roy Zang                          1 (0.5%)
   Francesco Rendine                 1 (0.5%)
   Aneesh V                          1 (0.5%)
   Cliff Cai                         1 (0.5%)
   Harald Welte                      1 (0.5%)
   Kai.Jiang                         1 (0.5%)
   Marc-Andre Hebert                 1 (0.5%)
   Thomas Smits                      1 (0.5%)
   David Jander                      1 (0.5%)
   Daniel Hellstrom                  1 (0.5%)
   York Sun                          1 (0.5%)
   Stefano Babic                     1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Ben Gardiner                      4 (80.0%)
   Sudhakar Rajashekhara             1 (20.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Steve Sakoman                     10 (18.2%)
   Heiko Schocher                    10 (18.2%)
   Ben Gardiner                      9 (16.4%)
   Stefano Babic                     8 (14.5%)
   Wolfgang Denk                     3 (5.5%)
   Reinhard Meyer                    3 (5.5%)
   Sandeep Paulraj                   2 (3.6%)
   Thomas Chou                       2 (3.6%)
   Sudhakar Rajashekhara             1 (1.8%)
   Peter Tyser                       1 (1.8%)
   Nick Thompson                     1 (1.8%)
   Ira Snyder                        1 (1.8%)
   Detlev Zundel                     1 (1.8%)
   Rob Herring                       1 (1.8%)
   Nishanth Menon                    1 (1.8%)
   John Rigby                        1 (1.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     10 (18.2%)
   Scott Wood                        5 (9.1%)
   Dirk Behme                        5 (9.1%)
   Steve Sakoman                     4 (7.3%)
   Jerry Huang                       4 (7.3%)
   Sukumar Ghorai                    4 (7.3%)
   Nick Thompson                     3 (5.5%)
   Enric Balletbo i Serra            3 (5.5%)
   John Rigby                        2 (3.6%)
   Kumar Gala                        2 (3.6%)
   Daniel Hobi                       2 (3.6%)
   Li Yang                           2 (3.6%)
   Heiko Schocher                    1 (1.8%)
   Ben Gardiner                      1 (1.8%)
   Mike Frysinger                    1 (1.8%)
   Timur Tabi                        1 (1.8%)
   Sughosh Ganu                      1 (1.8%)
   Alagu Sankar                      1 (1.8%)
   Liu Hui-R64343                    1 (1.8%)
   Becky Bruce                       1 (1.8%)
   Sebastien Carlier                 1 (1.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Vivi Li                           2 (50.0%)
   Dan Lykowski                      1 (25.0%)
   Peter Maydell                     1 (25.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    2 (50.0%)
   Wolfgang Denk                     1 (25.0%)
   Steve Sakoman                     1 (25.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         251 (32.3%)
   (Unknown)                         146 (18.8%)
   Freescale                         83 (10.7%)
   Analog Devices                    59 (7.6%)
   Extreme Engineering Solutions     46 (5.9%)
   Texas Instruments                 26 (3.3%)
   Sakoman Inc.                      20 (2.6%)
   Graeme Russ                       20 (2.6%)
   Nobuhiro Iwamatsu                 17 (2.2%)
   Linaro                            15 (1.9%)
   EmCraft Systems                   14 (1.8%)
   Marvell                           13 (1.7%)
   MontaVista                        11 (1.4%)
   Transmode Systems                 8 (1.0%)
   Dirk Behme                        8 (1.0%)
   Gaisler Research                  7 (0.9%)
   Ronetix                           6 (0.8%)
   Samsung                           5 (0.6%)
   Xilinx                            5 (0.6%)
   Renesas Electronics               3 (0.4%)
   General Electric                  2 (0.3%)
   Matrix Vision                     2 (0.3%)
   Grazvydas Ignotas                 2 (0.3%)
   AMCC                              1 (0.1%)
   ENEA AB                           1 (0.1%)
   ESD Electronics                   1 (0.1%)
   Guntermann & Drunck               1 (0.1%)
   Liebherr                          1 (0.1%)
   OVRO                              1 (0.1%)
   RuggedCom                         1 (0.1%)
   Oce Technologies                  1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         69493 (49.9%)
   Analog Devices                    30593 (22.0%)
   (Unknown)                         14459 (10.4%)
   Extreme Engineering Solutions     5551 (4.0%)
   Freescale                         4445 (3.2%)
   Oce Technologies                  4425 (3.2%)
   Guntermann & Drunck               1544 (1.1%)
   EmCraft Systems                   1467 (1.1%)
   Marvell                           1443 (1.0%)
   Linaro                            1165 (0.8%)
   Liebherr                          1090 (0.8%)
   Graeme Russ                       835 (0.6%)
   Texas Instruments                 764 (0.5%)
   MontaVista                        514 (0.4%)
   Sakoman Inc.                      384 (0.3%)
   Xilinx                            253 (0.2%)
   Nobuhiro Iwamatsu                 160 (0.1%)
   Grazvydas Ignotas                 142 (0.1%)
   Gaisler Research                  124 (0.1%)
   Renesas Electronics               82 (0.1%)
   Transmode Systems                 71 (0.1%)
   Samsung                           60 (0.0%)
   General Electric                  57 (0.0%)
   Ronetix                           45 (0.0%)
   OVRO                              44 (0.0%)
   ENEA AB                           42 (0.0%)
   Dirk Behme                        39 (0.0%)
   ESD Electronics                   26 (0.0%)
   AMCC                              13 (0.0%)
   Matrix Vision                     7 (0.0%)
   RuggedCom                         3 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         65 (31.2%)
   Texas Instruments                 46 (22.1%)
   DENX Software Engineering         32 (15.4%)
   (Unknown)                         32 (15.4%)
   Analog Devices                    13 (6.2%)
   Extreme Engineering Solutions     11 (5.3%)
   Samsung                           6 (2.9%)
   Linaro                            2 (1.0%)
   Gaisler Research                  1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         51 (43.6%)
   Freescale                         15 (12.8%)
   DENX Software Engineering         7 (6.0%)
   Texas Instruments                 6 (5.1%)
   Extreme Engineering Solutions     5 (4.3%)
   Linaro                            4 (3.4%)
   Analog Devices                    2 (1.7%)
   Samsung                           2 (1.7%)
   Gaisler Research                  2 (1.7%)
   Marvell                           2 (1.7%)
   Oce Technologies                  1 (0.9%)
   Guntermann & Drunck               1 (0.9%)
   EmCraft Systems                   1 (0.9%)
   Liebherr                          1 (0.9%)
   Graeme Russ                       1 (0.9%)
   MontaVista                        1 (0.9%)
   Sakoman Inc.                      1 (0.9%)
   Xilinx                            1 (0.9%)
   Nobuhiro Iwamatsu                 1 (0.9%)
   Grazvydas Ignotas                 1 (0.9%)
   Renesas Electronics               1 (0.9%)
   Transmode Systems                 1 (0.9%)
   General Electric                  1 (0.9%)
   Ronetix                           1 (0.9%)
   OVRO                              1 (0.9%)
   ENEA AB                           1 (0.9%)
   Dirk Behme                        1 (0.9%)
   ESD Electronics                   1 (0.9%)
   AMCC                              1 (0.9%)
   Matrix Vision                     1 (0.9%)
   RuggedCom                         1 (0.9%)
   ================================  =====
