:orphan:

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

* Processed 402 changesets from 100 developers

* 31 employers found

* A total of 42673 lines added, 22618 removed (delta 20055)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Thomas Chou                       28 (7.0%)
   Graeme Russ                       26 (6.5%)
   Wolfgang Denk                     23 (5.7%)
   Peter Tyser                       22 (5.5%)
   Stefano Babic                     19 (4.7%)
   Kumar Gala                        16 (4.0%)
   Frans Meulenbroeks                16 (4.0%)
   Anatolij Gustschin                14 (3.5%)
   Mike Frysinger                    14 (3.5%)
   TsiChung Liew                     13 (3.2%)
   Stefan Roese                      11 (2.7%)
   Vaibhav Hiremath                  10 (2.5%)
   Minkyu Kang                       9 (2.2%)
   Michal Simek                      9 (2.2%)
   Scott McNutt                      8 (2.0%)
   Dave Liu                          8 (2.0%)
   Kim Phillips                      7 (1.7%)
   Cyril Chemparathy                 7 (1.7%)
   Asen Dimov                        7 (1.7%)
   Detlev Zundel                     7 (1.7%)
   Sergei Shtylyov                   6 (1.5%)
   Timur Tabi                        6 (1.5%)
   Wolfgang Wegner                   6 (1.5%)
   Heiko Schocher                    4 (1.0%)
   Ron Madrid                        4 (1.0%)
   Albert Aribaud                    4 (1.0%)
   Naveen Krishna CH                 4 (1.0%)
   Poonam Aggrwal                    3 (0.7%)
   Sudhakar Rajashekhara             3 (0.7%)
   Prafulla Wadaskar                 3 (0.7%)
   Delio Brignoli                    2 (0.5%)
   Tom                               2 (0.5%)
   Matthias Kaehlcke                 2 (0.5%)
   Serge Ziryukin                    2 (0.5%)
   Matthias Fuchs                    2 (0.5%)
   Jerry Huang                       2 (0.5%)
   Andre Schwarz                     2 (0.5%)
   Larry Johnson                     2 (0.5%)
   Michael Zaidman                   2 (0.5%)
   Fabio Estevam                     2 (0.5%)
   John Rigby                        2 (0.5%)
   Richard Retanubun                 2 (0.5%)
   Ed Swarthout                      2 (0.5%)
   Kim B. Heino                      2 (0.5%)
   John Schmoller                    2 (0.5%)
   Becky Bruce                       1 (0.2%)
   Remy Bohmer                       1 (0.2%)
   Dipen Dudhat                      1 (0.2%)
   Felix Radensky                    1 (0.2%)
   Sandeep Gopalpet                  1 (0.2%)
   Peter Horton                      1 (0.2%)
   Guennadi Liakhovetski             1 (0.2%)
   Ilya Yanok                        1 (0.2%)
   Terry Lv                          1 (0.2%)
   Vitaly Kuzmichev                  1 (0.2%)
   Ben Warren                        1 (0.2%)
   Fillod Stephane                   1 (0.2%)
   Marek Vasut                       1 (0.2%)
   Grazvydas Ignotas                 1 (0.2%)
   George G. Davis                   1 (0.2%)
   Andrew Caldwell                   1 (0.2%)
   Andreas Bießmann                  1 (0.2%)
   Michael Weiss                     1 (0.2%)
   Mahavir Jain                      1 (0.2%)
   Horst Kronstorfer                 1 (0.2%)
   Nick Thompson                     1 (0.2%)
   York Sun                          1 (0.2%)
   Ender.Dai                         1 (0.2%)
   Trübenbach, Ralf                  1 (0.2%)
   Reinhard Arlt                     1 (0.2%)
   Norbert van Bolhuis               1 (0.2%)
   Magnus Lilja                      1 (0.2%)
   Valentin Yakovenkov               1 (0.2%)
   Eric Jarrige                      1 (0.2%)
   Andy Fleming                      1 (0.2%)
   Robin Getz                        1 (0.2%)
   Siddarth Gore                     1 (0.2%)
   Alexander Holler                  1 (0.2%)
   trix                              1 (0.2%)
   Lan Chunhe                        1 (0.2%)
   Roy Zang                          1 (0.2%)
   Srikanth Srinivasan               1 (0.2%)
   Rini van Zetten                   1 (0.2%)
   Arun Bhanu                        1 (0.2%)
   Jens Scharsig                     1 (0.2%)
   karl.beldan@gmail.com             1 (0.2%)
   Albin Tonnerre                    1 (0.2%)
   Brent Kandetzki                   1 (0.2%)
   Harald Krapfenbauer               1 (0.2%)
   Alessandro Rubini                 1 (0.2%)
   Achim Ehrlich                     1 (0.2%)
   Daniel Gorsulowski                1 (0.2%)
   Joonyoung Shim                    1 (0.2%)
   Vipin KUMAR                       1 (0.2%)
   Philippe De Muyter                1 (0.2%)
   Michael Durrant                   1 (0.2%)
   Florian Fainelli                  1 (0.2%)
   Nikolay Petukhov                  1 (0.2%)
   Renato Andreola                   1 (0.2%)
   Matthias Weisser                  1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Thomas Chou                       16355 (28.2%)
   Wolfgang Denk                     5566 (9.6%)
   Cyril Chemparathy                 4714 (8.1%)
   Graeme Russ                       3048 (5.3%)
   Vaibhav Hiremath                  2844 (4.9%)
   Stefan Roese                      2607 (4.5%)
   Anatolij Gustschin                2373 (4.1%)
   Minkyu Kang                       1632 (2.8%)
   Albert Aribaud                    1534 (2.6%)
   Wolfgang Wegner                   1375 (2.4%)
   Peter Tyser                       1363 (2.4%)
   Detlev Zundel                     1323 (2.3%)
   Stefano Babic                     1270 (2.2%)
   Tom                               1165 (2.0%)
   Andre Schwarz                     1095 (1.9%)
   TsiChung Liew                     1038 (1.8%)
   trix                              974 (1.7%)
   Scott McNutt                      863 (1.5%)
   Asen Dimov                        859 (1.5%)
   Siddarth Gore                     652 (1.1%)
   Frans Meulenbroeks                515 (0.9%)
   Timur Tabi                        421 (0.7%)
   Mike Frysinger                    399 (0.7%)
   Kumar Gala                        389 (0.7%)
   Sudhakar Rajashekhara             363 (0.6%)
   Heiko Schocher                    355 (0.6%)
   Nikolay Petukhov                  301 (0.5%)
   Brent Kandetzki                   294 (0.5%)
   Renato Andreola                   282 (0.5%)
   Michal Simek                      225 (0.4%)
   Michael Zaidman                   216 (0.4%)
   Naveen Krishna CH                 164 (0.3%)
   Reinhard Arlt                     159 (0.3%)
   Dave Liu                          87 (0.2%)
   Kim Phillips                      87 (0.2%)
   Dipen Dudhat                      87 (0.2%)
   Delio Brignoli                    86 (0.1%)
   Richard Retanubun                 76 (0.1%)
   Fabio Estevam                     69 (0.1%)
   Ron Madrid                        56 (0.1%)
   Jerry Huang                       46 (0.1%)
   Ed Swarthout                      37 (0.1%)
   Matthias Kaehlcke                 34 (0.1%)
   Arun Bhanu                        34 (0.1%)
   Matthias Fuchs                    32 (0.1%)
   Ben Warren                        31 (0.1%)
   Srikanth Srinivasan               25 (0.0%)
   Sergei Shtylyov                   24 (0.0%)
   Lan Chunhe                        20 (0.0%)
   Prafulla Wadaskar                 19 (0.0%)
   Michael Durrant                   19 (0.0%)
   Poonam Aggrwal                    15 (0.0%)
   Sandeep Gopalpet                  15 (0.0%)
   Vitaly Kuzmichev                  15 (0.0%)
   Felix Radensky                    14 (0.0%)
   Alessandro Rubini                 12 (0.0%)
   Matthias Weisser                  12 (0.0%)
   Kim B. Heino                      11 (0.0%)
   Andreas Bießmann                  11 (0.0%)
   Achim Ehrlich                     11 (0.0%)
   Magnus Lilja                      10 (0.0%)
   Grazvydas Ignotas                 9 (0.0%)
   Harald Krapfenbauer               9 (0.0%)
   Larry Johnson                     8 (0.0%)
   Mahavir Jain                      8 (0.0%)
   Nick Thompson                     8 (0.0%)
   Florian Fainelli                  8 (0.0%)
   Serge Ziryukin                    7 (0.0%)
   Terry Lv                          7 (0.0%)
   York Sun                          7 (0.0%)
   Alexander Holler                  7 (0.0%)
   Vipin KUMAR                       7 (0.0%)
   Guennadi Liakhovetski             6 (0.0%)
   Andrew Caldwell                   6 (0.0%)
   Ender.Dai                         6 (0.0%)
   Roy Zang                          6 (0.0%)
   Albin Tonnerre                    6 (0.0%)
   Joonyoung Shim                    6 (0.0%)
   Rini van Zetten                   5 (0.0%)
   Marek Vasut                       4 (0.0%)
   Michael Weiss                     4 (0.0%)
   Robin Getz                        4 (0.0%)
   John Rigby                        3 (0.0%)
   John Schmoller                    3 (0.0%)
   Ilya Yanok                        3 (0.0%)
   George G. Davis                   3 (0.0%)
   Trübenbach, Ralf                  3 (0.0%)
   Jens Scharsig                     3 (0.0%)
   Becky Bruce                       2 (0.0%)
   Fillod Stephane                   2 (0.0%)
   Horst Kronstorfer                 2 (0.0%)
   Norbert van Bolhuis               2 (0.0%)
   Andy Fleming                      2 (0.0%)
   Daniel Gorsulowski                2 (0.0%)
   Philippe De Muyter                2 (0.0%)
   Remy Bohmer                       1 (0.0%)
   Peter Horton                      1 (0.0%)
   Valentin Yakovenkov               1 (0.0%)
   Eric Jarrige                      1 (0.0%)
   karl.beldan@gmail.com             1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Thomas Chou                       8029 (35.5%)
   Detlev Zundel                     1280 (5.7%)
   Scott McNutt                      435 (1.9%)
   Fabio Estevam                     68 (0.3%)
   Michal Simek                      64 (0.3%)
   Mike Frysinger                    44 (0.2%)
   Mahavir Jain                      7 (0.0%)
   Matthias Kaehlcke                 4 (0.0%)
   Harald Krapfenbauer               3 (0.0%)
   Guennadi Liakhovetski             2 (0.0%)
   Ender.Dai                         2 (0.0%)
   Daniel Gorsulowski                2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Scott McNutt                      22 (15.4%)
   Sandeep Paulraj                   22 (15.4%)
   Ben Warren                        22 (15.4%)
   Kumar Gala                        18 (12.6%)
   Stefan Roese                      8 (5.6%)
   Kim Phillips                      7 (4.9%)
   Minkyu Kang                       5 (3.5%)
   Wolfgang Denk                     5 (3.5%)
   Kyungmin Park                     4 (2.8%)
   Sanjeev Premi                     4 (2.8%)
   Mike Frysinger                    3 (2.1%)
   Detlev Zundel                     2 (1.4%)
   Roy Zang                          2 (1.4%)
   Dave Liu                          2 (1.4%)
   Thomas Chou                       1 (0.7%)
   Michal Simek                      1 (0.7%)
   Matthias Kaehlcke                 1 (0.7%)
   Artem Bityutskiy                  1 (0.7%)
   Haiying Wang                      1 (0.7%)
   Tom Rix                           1 (0.7%)
   Jingchang Lu                      1 (0.7%)
   Jason Jin                         1 (0.7%)
   David Wu                          1 (0.7%)
   Michael Weiss                     1 (0.7%)
   Srikanth Srinivasan               1 (0.7%)
   Ed Swarthout                      1 (0.7%)
   Sandeep Gopalpet                  1 (0.7%)
   Ron Madrid                        1 (0.7%)
   Dipen Dudhat                      1 (0.7%)
   Heiko Schocher                    1 (0.7%)
   Anatolij Gustschin                1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     2 (100.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Ian Abbott                        4 (26.7%)
   Ben Gardiner                      2 (13.3%)
   Wolfgang Denk                     1 (6.7%)
   Thomas Chou                       1 (6.7%)
   Heiko Schocher                    1 (6.7%)
   Anatolij Gustschin                1 (6.7%)
   Thomas Weber                      1 (6.7%)
   Magnus Lilja                      1 (6.7%)
   Prafulla Wadaskar                 1 (6.7%)
   Peter Tyser                       1 (6.7%)
   Tom                               1 (6.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Thomas Chou                       4 (26.7%)
   Ben Warren                        3 (20.0%)
   Delio Brignoli                    2 (13.3%)
   Wolfgang Denk                     1 (6.7%)
   Mike Frysinger                    1 (6.7%)
   Ed Swarthout                      1 (6.7%)
   Vitaly Kuzmichev                  1 (6.7%)
   Felix Radensky                    1 (6.7%)
   Stefano Babic                     1 (6.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Haiying Wang                      1 (50.0%)
   Peter Meerwald                    1 (50.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    1 (50.0%)
   Kim Phillips                      1 (50.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         108 (26.9%)
   DENX Software Engineering         79 (19.7%)
   Freescale                         53 (13.2%)
   Graeme Russ                       26 (6.5%)
   Extreme Engineering Solutions     24 (6.0%)
   Texas Instruments                 20 (5.0%)
   Analog Devices                    16 (4.0%)
   Samsung                           13 (3.2%)
   Xilinx                            9 (2.2%)
   MontaVista                        8 (2.0%)
   Psyent                            8 (2.0%)
   Ronetix                           7 (1.7%)
   ESD Electronics                   4 (1.0%)
   Sheldon Instruments               4 (1.0%)
   Marvell                           3 (0.7%)
   ACM                               2 (0.5%)
   Bluegiga Technologies             2 (0.5%)
   Matrix Vision                     2 (0.5%)
   RuggedCom                         2 (0.5%)
   ARVOO Engineering                 1 (0.2%)
   Wind River                        1 (0.2%)
   EmCraft Systems                   1 (0.2%)
   Free Electrons                    1 (0.2%)
   General Electric                  1 (0.2%)
   Macq Electronique                 1 (0.2%)
   ST Microelectronics               1 (0.2%)
   taskit                            1 (0.2%)
   Universita di Pavia               1 (0.2%)
   Oce Technologies                  1 (0.2%)
   Grazvydas Ignotas                 1 (0.2%)
   Funky                             1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         24121 (41.7%)
   DENX Software Engineering         13498 (23.3%)
   Texas Instruments                 7921 (13.7%)
   Graeme Russ                       3048 (5.3%)
   Samsung                           1795 (3.1%)
   Extreme Engineering Solutions     1366 (2.4%)
   Freescale                         1253 (2.2%)
   Matrix Vision                     1095 (1.9%)
   Wind River                        974 (1.7%)
   Psyent                            863 (1.5%)
   Ronetix                           859 (1.5%)
   Analog Devices                    409 (0.7%)
   Xilinx                            225 (0.4%)
   ESD Electronics                   193 (0.3%)
   RuggedCom                         76 (0.1%)
   Sheldon Instruments               56 (0.1%)
   MontaVista                        42 (0.1%)
   Marvell                           19 (0.0%)
   Universita di Pavia               12 (0.0%)
   Bluegiga Technologies             11 (0.0%)
   taskit                            11 (0.0%)
   Grazvydas Ignotas                 9 (0.0%)
   ACM                               8 (0.0%)
   General Electric                  8 (0.0%)
   ST Microelectronics               7 (0.0%)
   Funky                             7 (0.0%)
   Free Electrons                    6 (0.0%)
   ARVOO Engineering                 5 (0.0%)
   EmCraft Systems                   3 (0.0%)
   Macq Electronique                 2 (0.0%)
   Oce Technologies                  1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         36 (25.2%)
   (Unknown)                         27 (18.9%)
   Texas Instruments                 26 (18.2%)
   Psyent                            22 (15.4%)
   DENX Software Engineering         17 (11.9%)
   Samsung                           9 (6.3%)
   Analog Devices                    3 (2.1%)
   Wind River                        1 (0.7%)
   Sheldon Instruments               1 (0.7%)
   Nokia                             1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         39 (38.6%)
   Freescale                         16 (15.8%)
   DENX Software Engineering         7 (6.9%)
   Texas Instruments                 3 (3.0%)
   Samsung                           3 (3.0%)
   Analog Devices                    3 (3.0%)
   ESD Electronics                   3 (3.0%)
   MontaVista                        3 (3.0%)
   Extreme Engineering Solutions     2 (2.0%)
   Psyent                            1 (1.0%)
   Wind River                        1 (1.0%)
   Sheldon Instruments               1 (1.0%)
   Graeme Russ                       1 (1.0%)
   Matrix Vision                     1 (1.0%)
   Ronetix                           1 (1.0%)
   Xilinx                            1 (1.0%)
   RuggedCom                         1 (1.0%)
   Marvell                           1 (1.0%)
   Universita di Pavia               1 (1.0%)
   Bluegiga Technologies             1 (1.0%)
   taskit                            1 (1.0%)
   Grazvydas Ignotas                 1 (1.0%)
   ACM                               1 (1.0%)
   General Electric                  1 (1.0%)
   ST Microelectronics               1 (1.0%)
   Funky                             1 (1.0%)
   Free Electrons                    1 (1.0%)
   ARVOO Engineering                 1 (1.0%)
   EmCraft Systems                   1 (1.0%)
   Macq Electronique                 1 (1.0%)
   Oce Technologies                  1 (1.0%)
   ================================  =====
