:orphan:

Release Statistics for U-Boot v2012.07
======================================

* Processed 775 changesets from 114 developers

* 29 employers found

* A total of 55134 lines added, 11790 removed (delta 43344)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Joe Hershberger                   90 (11.6%)
   Fabio Estevam                     56 (7.2%)
   Marek Vasut                       42 (5.4%)
   Stephen Warren                    35 (4.5%)
   SRICHARAN R                       29 (3.7%)
   Tom Rini                          25 (3.2%)
   Mike Frysinger                    22 (2.8%)
   Simon Glass                       22 (2.8%)
   Vipin Kumar                       21 (2.7%)
   Anatolij Gustschin                19 (2.5%)
   Holger Brunck                     18 (2.3%)
   Nobuhiro Iwamatsu                 15 (1.9%)
   Donghwa Lee                       14 (1.8%)
   Prabhakar Kushwaha                14 (1.8%)
   Valentin Longchamp                13 (1.7%)
   Wolfgang Denk                     12 (1.5%)
   Łukasz Majewski                   11 (1.4%)
   Rajeshwari Shinde                 11 (1.4%)
   Stefan Roese                      11 (1.4%)
   Stefano Babic                     10 (1.3%)
   Amit Virdi                        10 (1.3%)
   Lokesh Vutla                      10 (1.3%)
   Timur Tabi                        9 (1.2%)
   Eric Nelson                       8 (1.0%)
   Timo Ketola                       8 (1.0%)
   Liu Gang                          8 (1.0%)
   Tom Warren                        7 (0.9%)
   Thierry Reding                    7 (0.9%)
   Rob Herring                       7 (0.9%)
   Dirk Eibach                       7 (0.9%)
   Ilya Yanok                        6 (0.8%)
   Jaehoon Chung                     6 (0.8%)
   Nikita Kiryanov                   6 (0.8%)
   Otavio Salvador                   6 (0.8%)
   Grazvydas Ignotas                 6 (0.8%)
   Aneesh V                          6 (0.8%)
   Macpaul Lin                       5 (0.6%)
   Lucas Stach                       5 (0.6%)
   Shiraz Hashim                     5 (0.6%)
   Armando Visconti                  5 (0.6%)
   Thomas Herzmann                   5 (0.6%)
   Andreas Bießmann                  5 (0.6%)
   Vikram Narayanan                  5 (0.6%)
   York Sun                          5 (0.6%)
   Yen Lin                           5 (0.6%)
   Daniel Schwierzeck                4 (0.5%)
   Michael Walle                     4 (0.5%)
   Troy Kisky                        4 (0.5%)
   Steve Sakoman                     4 (0.5%)
   Bo Shen                           4 (0.5%)
   Benoît Thébaudeau                 3 (0.4%)
   Tetsuyuki Kobayashi               3 (0.4%)
   Jerry Huang                       3 (0.4%)
   Andy Fleming                      3 (0.4%)
   Kim Phillips                      3 (0.4%)
   Jens Scharsig                     3 (0.4%)
   Simon Guinot                      3 (0.4%)
   Jimmy Zhang                       3 (0.4%)
   Pali Rohár                        3 (0.4%)
   Stephan Linz                      3 (0.4%)
   Tero Kristo                       3 (0.4%)
   Anton Staff                       3 (0.4%)
   Balaji T K                        3 (0.4%)
   Nishanth Menon                    3 (0.4%)
   Vladimir Zapolskiy                3 (0.4%)
   Luka Perkov                       2 (0.3%)
   Minkyu Kang                       2 (0.3%)
   Heiko Schocher                    2 (0.3%)
   Shengzhou Liu                     2 (0.3%)
   Scott Wood                        2 (0.3%)
   Jeroen Hofstee                    2 (0.3%)
   Enric Balletbo i Serra            2 (0.3%)
   Dirk Behme                        2 (0.3%)
   Shaohui Xie                       2 (0.3%)
   Linu Cherian                      1 (0.1%)
   Ashok                             1 (0.1%)
   Zhong Hongbo                      1 (0.1%)
   Stefan Herbrechtsmeier            1 (0.1%)
   Thomas Chou                       1 (0.1%)
   Torsten Fleischer                 1 (0.1%)
   Igor Grinberg                     1 (0.1%)
   Jim Lin                           1 (0.1%)
   Peter Meerwald                    1 (0.1%)
   Vladimir Yakovlev                 1 (0.1%)
   Sebastien Jan                     1 (0.1%)
   Rajashekhara, Sudhakar            1 (0.1%)
   David Purdy                       1 (0.1%)
   Alexandre Belloni                 1 (0.1%)
   Michael Langer                    1 (0.1%)
   Jason Liu                         1 (0.1%)
   Thomas Weber                      1 (0.1%)
   Allen Martin                      1 (0.1%)
   Ramneek Mehresh                   1 (0.1%)
   Jason Cooper                      1 (0.1%)
   Loïc Minier                       1 (0.1%)
   Stefan Bigler                     1 (0.1%)
   Christian Herzig                  1 (0.1%)
   Andreas Huber                     1 (0.1%)
   Phil Edworthy                     1 (0.1%)
   Aaron Williams                    1 (0.1%)
   Puneet Saxena                     1 (0.1%)
   Liu, Wentao                       1 (0.1%)
   Matt Porter                       1 (0.1%)
   Jon Hunter                        1 (0.1%)
   Rakesh Iyer                       1 (0.1%)
   Bernie Thompson                   1 (0.1%)
   Wei Ni                            1 (0.1%)
   Lauri Hintsala                    1 (0.1%)
   Wolfgang Grandegger               1 (0.1%)
   Chander Kashyap                   1 (0.1%)
   Enric Balletbò i Serra            1 (0.1%)
   Jonathan Solnit                   1 (0.1%)
   Ian Campbell                      1 (0.1%)
   Chunhe Lan                        1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Donghwa Lee                       9434 (15.7%)
   Mike Frysinger                    3465 (5.8%)
   Joe Hershberger                   3048 (5.1%)
   Marek Vasut                       3032 (5.1%)
   Nobuhiro Iwamatsu                 2413 (4.0%)
   Yen Lin                           2098 (3.5%)
   Stefano Babic                     2090 (3.5%)
   Łukasz Majewski                   2022 (3.4%)
   Stefan Roese                      2019 (3.4%)
   Macpaul Lin                       1757 (2.9%)
   Prabhakar Kushwaha                1554 (2.6%)
   Simon Glass                       1492 (2.5%)
   SRICHARAN R                       1403 (2.3%)
   Vipin Kumar                       1392 (2.3%)
   Vladimir Zapolskiy                1389 (2.3%)
   Holger Brunck                     1350 (2.3%)
   Rajeshwari Shinde                 1350 (2.3%)
   Luka Perkov                       1320 (2.2%)
   Stephen Warren                    1317 (2.2%)
   Fabio Estevam                     1251 (2.1%)
   Michael Walle                     1227 (2.0%)
   Tom Rini                          1170 (2.0%)
   Jens Scharsig                     1072 (1.8%)
   Liu Gang                          883 (1.5%)
   Bo Shen                           719 (1.2%)
   Jaehoon Chung                     644 (1.1%)
   Jimmy Zhang                       600 (1.0%)
   Thierry Reding                    537 (0.9%)
   Dirk Eibach                       510 (0.9%)
   David Purdy                       498 (0.8%)
   Valentin Longchamp                449 (0.7%)
   Lokesh Vutla                      432 (0.7%)
   Rakesh Iyer                       410 (0.7%)
   Phil Edworthy                     401 (0.7%)
   Heiko Schocher                    371 (0.6%)
   Eric Nelson                       368 (0.6%)
   Bernie Thompson                   309 (0.5%)
   Enric Balletbò i Serra            273 (0.5%)
   Shengzhou Liu                     256 (0.4%)
   Amit Virdi                        226 (0.4%)
   Rob Herring                       214 (0.4%)
   Nishanth Menon                    210 (0.4%)
   Nikita Kiryanov                   190 (0.3%)
   York Sun                          176 (0.3%)
   Timur Tabi                        146 (0.2%)
   Andy Fleming                      144 (0.2%)
   Jeroen Hofstee                    120 (0.2%)
   Armando Visconti                  116 (0.2%)
   Thomas Herzmann                   114 (0.2%)
   Grazvydas Ignotas                 105 (0.2%)
   Aneesh V                          103 (0.2%)
   Tom Warren                        101 (0.2%)
   Timo Ketola                       100 (0.2%)
   Anton Staff                       87 (0.1%)
   Scott Wood                        85 (0.1%)
   Daniel Schwierzeck                81 (0.1%)
   Anatolij Gustschin                74 (0.1%)
   Dirk Behme                        73 (0.1%)
   Balaji T K                        70 (0.1%)
   Wolfgang Denk                     69 (0.1%)
   Ramneek Mehresh                   66 (0.1%)
   Zhong Hongbo                      65 (0.1%)
   Vikram Narayanan                  63 (0.1%)
   Andreas Bießmann                  61 (0.1%)
   Puneet Saxena                     61 (0.1%)
   Troy Kisky                        58 (0.1%)
   Jonathan Solnit                   58 (0.1%)
   Shaohui Xie                       57 (0.1%)
   Andreas Huber                     43 (0.1%)
   Pali Rohár                        41 (0.1%)
   Ilya Yanok                        39 (0.1%)
   Minkyu Kang                       38 (0.1%)
   Lucas Stach                       32 (0.1%)
   Lauri Hintsala                    31 (0.1%)
   Simon Guinot                      25 (0.0%)
   Jason Cooper                      24 (0.0%)
   Tetsuyuki Kobayashi               21 (0.0%)
   Alexandre Belloni                 21 (0.0%)
   Stefan Herbrechtsmeier            20 (0.0%)
   Shiraz Hashim                     18 (0.0%)
   Jim Lin                           18 (0.0%)
   Wei Ni                            18 (0.0%)
   Enric Balletbo i Serra            17 (0.0%)
   Matt Porter                       16 (0.0%)
   Thomas Chou                       15 (0.0%)
   Steve Sakoman                     13 (0.0%)
   Stephan Linz                      12 (0.0%)
   Otavio Salvador                   11 (0.0%)
   Kim Phillips                      11 (0.0%)
   Tero Kristo                       10 (0.0%)
   Vladimir Yakovlev                 10 (0.0%)
   Jerry Huang                       9 (0.0%)
   Rajashekhara, Sudhakar            8 (0.0%)
   Benoît Thébaudeau                 7 (0.0%)
   Peter Meerwald                    6 (0.0%)
   Chunhe Lan                        6 (0.0%)
   Allen Martin                      5 (0.0%)
   Michael Langer                    4 (0.0%)
   Stefan Bigler                     4 (0.0%)
   Aaron Williams                    3 (0.0%)
   Wolfgang Grandegger               3 (0.0%)
   Ashok                             2 (0.0%)
   Igor Grinberg                     2 (0.0%)
   Jason Liu                         2 (0.0%)
   Thomas Weber                      2 (0.0%)
   Chander Kashyap                   2 (0.0%)
   Ian Campbell                      2 (0.0%)
   Linu Cherian                      1 (0.0%)
   Torsten Fleischer                 1 (0.0%)
   Sebastien Jan                     1 (0.0%)
   Loïc Minier                       1 (0.0%)
   Christian Herzig                  1 (0.0%)
   Liu, Wentao                       1 (0.0%)
   Jon Hunter                        1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          831 (7.0%)
   Jaehoon Chung                     353 (3.0%)
   Enric Balletbò i Serra            262 (2.2%)
   Amit Virdi                        104 (0.9%)
   York Sun                          51 (0.4%)
   Timur Tabi                        51 (0.4%)
   Andreas Bießmann                  43 (0.4%)
   Wolfgang Denk                     22 (0.2%)
   Simon Guinot                      13 (0.1%)
   Thomas Chou                       6 (0.1%)
   Tero Kristo                       6 (0.1%)
   Stephan Linz                      4 (0.0%)
   Otavio Salvador                   2 (0.0%)
   Igor Grinberg                     1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Warren                        80 (21.6%)
   Stefan Roese                      46 (12.4%)
   Kyungmin Park                     32 (8.6%)
   Amit Virdi                        31 (8.4%)
   Andy Fleming                      16 (4.3%)
   Kim Phillips                      14 (3.8%)
   Simon Glass                       14 (3.8%)
   Valentin Longchamp                13 (3.5%)
   Minkyu Kang                       11 (3.0%)
   Anatolij Gustschin                10 (2.7%)
   Holger Brunck                     10 (2.7%)
   Inki Dae                          8 (2.2%)
   Andreas Bießmann                  6 (1.6%)
   Scott Wood                        6 (1.6%)
   Igor Grinberg                     5 (1.4%)
   Radu Lazarescu                    5 (1.4%)
   Shaohui Xie                       5 (1.4%)
   Vivek Gautam                      4 (1.1%)
   Marius Grigoras                   4 (1.1%)
   Ilya Yanok                        3 (0.8%)
   SRICHARAN R                       3 (0.8%)
   Tom Rini                          2 (0.5%)
   Che-Liang Chiou                   2 (0.5%)
   Senthilvadivu Guruswamy           2 (0.5%)
   Prafulla Wadaskar                 2 (0.5%)
   Abhilash Kesavan                  2 (0.5%)
   Priyanka Jain                     2 (0.5%)
   Akhil Goyal                       2 (0.5%)
   Rajan Srivastava                  2 (0.5%)
   Poonam Aggrwal                    2 (0.5%)
   Ramneek Mehresh                   2 (0.5%)
   Marek Vasut                       2 (0.5%)
   Vipin Kumar                       2 (0.5%)
   Wolfgang Denk                     1 (0.3%)
   Jason Liu                         1 (0.3%)
   Christian Herzig                  1 (0.3%)
   Lad, Prabhakar                    1 (0.3%)
   Hadli, Manjunath                  1 (0.3%)
   Daniel Stodden                    1 (0.3%)
   Catalin Udma                      1 (0.3%)
   Eric Miao                         1 (0.3%)
   Terry Lv                          1 (0.3%)
   Gerald Kerma                      1 (0.3%)
   Simon Baatz                       1 (0.3%)
   Anmol Paralkar                    1 (0.3%)
   John Russo                        1 (0.3%)
   Michel Sanches                    1 (0.3%)
   Peter Meerwald                    1 (0.3%)
   Shiraz Hashim                     1 (0.3%)
   Balaji T K                        1 (0.3%)
   Fabio Estevam                     1 (0.3%)
   Stefano Babic                     1 (0.3%)
   Nobuhiro Iwamatsu                 1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Joe Hershberger                   2 (100.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Anatolij Gustschin                3 (12.0%)
   Tom Rini                          3 (12.0%)
   Wolfgang Denk                     2 (8.0%)
   Gary Thomas                       2 (8.0%)
   Pali Rohár                        2 (8.0%)
   Stephen Warren                    2 (8.0%)
   Simon Glass                       1 (4.0%)
   Holger Brunck                     1 (4.0%)
   Jaehoon Chung                     1 (4.0%)
   Simon Guinot                      1 (4.0%)
   Yoshihiro Shimoda                 1 (4.0%)
   Allen Martin                      1 (4.0%)
   Thierry Reding                    1 (4.0%)
   Eric Nelson                       1 (4.0%)
   David Purdy                       1 (4.0%)
   Jimmy Zhang                       1 (4.0%)
   Mike Frysinger                    1 (4.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Anatolij Gustschin                3 (12.0%)
   Luka Perkov                       3 (12.0%)
   SRICHARAN R                       2 (8.0%)
   Tetsuyuki Kobayashi               2 (8.0%)
   Jason Cooper                      2 (8.0%)
   Grazvydas Ignotas                 2 (8.0%)
   Timo Ketola                       2 (8.0%)
   Stephen Warren                    1 (4.0%)
   Allen Martin                      1 (4.0%)
   Tom Warren                        1 (4.0%)
   Andy Fleming                      1 (4.0%)
   Minkyu Kang                       1 (4.0%)
   Nobuhiro Iwamatsu                 1 (4.0%)
   Aaron Williams                    1 (4.0%)
   Lucas Stach                       1 (4.0%)
   Aneesh V                          1 (4.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Isabelle Gros                     3 (25.0%)
   Jerome Angeloni                   3 (25.0%)
   Pali Rohár                        1 (8.3%)
   Marek Vasut                       1 (8.3%)
   Deepak Sikri                      1 (8.3%)
   David Jander                      1 (8.3%)
   Armando Visconti                  1 (8.3%)
   Michael Walle                     1 (8.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Nishanth Menon                    6 (50.0%)
   Shiraz Hashim                     2 (16.7%)
   Anatolij Gustschin                1 (8.3%)
   Mike Frysinger                    1 (8.3%)
   Joe Hershberger                   1 (8.3%)
   Stefano Babic                     1 (8.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         102 (13.2%)
   DENX Software Engineering         97 (12.5%)
   (Unknown)                         97 (12.5%)
   National Instruments              90 (11.6%)
   Texas Instruments                 58 (7.5%)
   NVidia                            51 (6.6%)
   Samsung                           44 (5.7%)
   ST Microelectronics               41 (5.3%)
   Keymile                           39 (5.0%)
   Google, Inc.                      26 (3.4%)
   Konsulko Group                    25 (3.2%)
   Analog Devices                    22 (2.8%)
   Renesas Electronics               13 (1.7%)
   Boundary Devices                  12 (1.5%)
   Calxeda                           7 (0.9%)
   CompuLab                          7 (0.9%)
   Guntermann & Drunck               7 (0.9%)
   O.S. Systems                      6 (0.8%)
   Grazvydas Ignotas                 6 (0.8%)
   Atmel                             4 (0.5%)
   Sakoman Inc.                      4 (0.5%)
   ADVANSEE                          3 (0.4%)
   BuS Elektronik                    3 (0.4%)
   Bosch                             3 (0.4%)
   Nobuhiro Iwamatsu                 3 (0.4%)
   Linaro                            2 (0.3%)
   Bluegiga Technologies             1 (0.1%)
   Debian.org                        1 (0.1%)
   Intel                             1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Samsung                           13488 (22.5%)
   (Unknown)                         8487 (14.1%)
   DENX Software Engineering         7658 (12.8%)
   NVidia                            4584 (7.6%)
   Freescale                         4044 (6.7%)
   Analog Devices                    3465 (5.8%)
   National Instruments              3048 (5.1%)
   Renesas Electronics               2803 (4.7%)
   Texas Instruments                 2254 (3.8%)
   Keymile                           1961 (3.3%)
   Google, Inc.                      1888 (3.1%)
   ST Microelectronics               1752 (2.9%)
   Konsulko Group                    1170 (2.0%)
   BuS Elektronik                    1072 (1.8%)
   Atmel                             719 (1.2%)
   Guntermann & Drunck               510 (0.9%)
   Boundary Devices                  426 (0.7%)
   Calxeda                           214 (0.4%)
   CompuLab                          192 (0.3%)
   Grazvydas Ignotas                 105 (0.2%)
   Bosch                             77 (0.1%)
   Bluegiga Technologies             31 (0.1%)
   Sakoman Inc.                      13 (0.0%)
   O.S. Systems                      11 (0.0%)
   Nobuhiro Iwamatsu                 11 (0.0%)
   ADVANSEE                          7 (0.0%)
   Linaro                            4 (0.0%)
   Debian.org                        1 (0.0%)
   Intel                             1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   NVidia                            80 (21.6%)
   DENX Software Engineering         60 (16.2%)
   Freescale                         59 (15.9%)
   Samsung                           57 (15.4%)
   ST Microelectronics               35 (9.5%)
   Keymile                           24 (6.5%)
   (Unknown)                         18 (4.9%)
   Google, Inc.                      16 (4.3%)
   Texas Instruments                 10 (2.7%)
   CompuLab                          5 (1.4%)
   Linaro                            2 (0.5%)
   Marvell                           2 (0.5%)
   Nobuhiro Iwamatsu                 1 (0.3%)
   bct electronic GmbH               1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         35 (29.9%)
   Freescale                         13 (11.1%)
   Texas Instruments                 10 (8.5%)
   NVidia                            9 (7.7%)
   DENX Software Engineering         7 (6.0%)
   Keymile                           6 (5.1%)
   Samsung                           5 (4.3%)
   ST Microelectronics               4 (3.4%)
   Google, Inc.                      3 (2.6%)
   CompuLab                          2 (1.7%)
   Linaro                            2 (1.7%)
   Renesas Electronics               2 (1.7%)
   Boundary Devices                  2 (1.7%)
   Bosch                             2 (1.7%)
   Nobuhiro Iwamatsu                 1 (0.9%)
   Analog Devices                    1 (0.9%)
   National Instruments              1 (0.9%)
   Konsulko Group                    1 (0.9%)
   BuS Elektronik                    1 (0.9%)
   Atmel                             1 (0.9%)
   Guntermann & Drunck               1 (0.9%)
   Calxeda                           1 (0.9%)
   Grazvydas Ignotas                 1 (0.9%)
   Bluegiga Technologies             1 (0.9%)
   Sakoman Inc.                      1 (0.9%)
   O.S. Systems                      1 (0.9%)
   ADVANSEE                          1 (0.9%)
   Debian.org                        1 (0.9%)
   Intel                             1 (0.9%)
   ================================  =====
