:orphan:

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

* Processed 468 csets from 92 developers

* 29 employers found

* A total of 55271 lines added, 73622 removed (delta -18351)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    43 (9.2%)
   Kumar Gala                        31 (6.6%)
   Stefan Roese                      24 (5.1%)
   Wolfgang Denk                     20 (4.3%)
   Heiko Schocher                    20 (4.3%)
   Tom                               16 (3.4%)
   Sandeep Paulraj                   15 (3.2%)
   Stefano Babic                     14 (3.0%)
   Vipin Kumar                       13 (2.8%)
   Ladislav Michl                    13 (2.8%)
   Peter Tyser                       12 (2.6%)
   Nick Thompson                     12 (2.6%)
   Jens Scharsig                     11 (2.4%)
   Matthias Kaehlcke                 10 (2.1%)
   Graeme Russ                       10 (2.1%)
   Matthias Fuchs                    8 (1.7%)
   Detlev Zundel                     8 (1.7%)
   John Rigby                        8 (1.7%)
   Alessandro Rubini                 7 (1.5%)
   Robin Getz                        7 (1.5%)
   Dave Liu                          6 (1.3%)
   Wolfgang Wegner                   6 (1.3%)
   Joakim Tjernlund                  6 (1.3%)
   Nishanth Menon                    6 (1.3%)
   Anatolij Gustschin                5 (1.1%)
   Magnus Lilja                      5 (1.1%)
   Cliff Cai                         5 (1.1%)
   Bryan Wu                          5 (1.1%)
   Ajay Kumar Gupta                  5 (1.1%)
   Felix Radensky                    4 (0.9%)
   Daniel Gorsulowski                4 (0.9%)
   Kim Phillips                      4 (0.9%)
   Sekhar Nori                       4 (0.9%)
   Liu Yu                            4 (0.9%)
   Frans Meulenbroeks                3 (0.6%)
   Prafulla Wadaskar                 3 (0.6%)
   Sanjeev Premi                     3 (0.6%)
   Seunghyeon Rhee                   3 (0.6%)
   Li Yang                           3 (0.6%)
   Minkyu Kang                       3 (0.6%)
   Chris Zhang                       3 (0.6%)
   Reinhard Arlt                     3 (0.6%)
   Mingkai Hu                        3 (0.6%)
   Grazvydas Ignotas                 3 (0.6%)
   Kevin Morfitt                     3 (0.6%)
   Wolfgang Grandegger               3 (0.6%)
   Renato Andreola                   2 (0.4%)
   Thomas Weber                      2 (0.4%)
   Ben Warren                        2 (0.4%)
   Matthias Weisser                  2 (0.4%)
   Michael Zaidman                   2 (0.4%)
   Richard Retanubun                 2 (0.4%)
   Remy Bohmer                       2 (0.4%)
   Michal Simek                      2 (0.4%)
   Michael Hennerich                 2 (0.4%)
   Dirk Behme                        2 (0.4%)
   Harald Krapfenbauer               2 (0.4%)
   Valentin Yakovenkov               2 (0.4%)
   Anton Vorontsov                   2 (0.4%)
   Po-Yu Chuang                      2 (0.4%)
   Amul Kumar Saha                   2 (0.4%)
   Timur Tabi                        1 (0.2%)
   Thomas Chou                       1 (0.2%)
   Rupjyoti Sarmah                   1 (0.2%)
   Asen Dimov                        1 (0.2%)
   Jeff Angielski                    1 (0.2%)
   Anders Darander                   1 (0.2%)
   Siarhei Siamashka                 1 (0.2%)
   Achim Ehrlich                     1 (0.2%)
   Nobuhiro Iwamatsu                 1 (0.2%)
   Eugene O'Brien                    1 (0.2%)
   Hiremath Vaibhav                  1 (0.2%)
   Scott Ellis                       1 (0.2%)
   Siddarth Gore                     1 (0.2%)
   Prathap Srinivas                  1 (0.2%)
   Semih Hazar                       1 (0.2%)
   Vivek Mahajan                     1 (0.2%)
   James Yang                        1 (0.2%)
   Shinya Kuribayashi                1 (0.2%)
   Daniel Hobi                       1 (0.2%)
   Becky Bruce                       1 (0.2%)
   Sandeep Gopalpet                  1 (0.2%)
   Robert P. J. Day                  1 (0.2%)
   Mahavir Jain                      1 (0.2%)
   John Ogness                       1 (0.2%)
   Peter Korsgaard                   1 (0.2%)
   Ingo van Lil                      1 (0.2%)
   Scott Wood                        1 (0.2%)
   Jean-Christophe PLAGNIOL-VILLARD  1 (0.2%)
   Mark Asselstine                   1 (0.2%)
   Hui.Tang                          1 (0.2%)
   David Brownell                    1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Detlev Zundel                     46531 (38.5%)
   Stefan Roese                      13363 (11.1%)
   Wolfgang Denk                     10857 (9.0%)
   Tom                               6089 (5.0%)
   Vipin Kumar                       4871 (4.0%)
   Jens Scharsig                     4100 (3.4%)
   Stefano Babic                     4052 (3.4%)
   Matthias Kaehlcke                 3070 (2.5%)
   John Rigby                        2813 (2.3%)
   Heiko Schocher                    2270 (1.9%)
   Mike Frysinger                    1611 (1.3%)
   Michael Hennerich                 1451 (1.2%)
   Po-Yu Chuang                      1381 (1.1%)
   Kumar Gala                        1223 (1.0%)
   Robin Getz                        1211 (1.0%)
   Bryan Wu                          1048 (0.9%)
   Peter Tyser                       1005 (0.8%)
   Nick Thompson                     917 (0.8%)
   Sekhar Nori                       883 (0.7%)
   Daniel Gorsulowski                851 (0.7%)
   Wolfgang Grandegger               833 (0.7%)
   Graeme Russ                       760 (0.6%)
   Amul Kumar Saha                   715 (0.6%)
   Joakim Tjernlund                  657 (0.5%)
   Ladislav Michl                    616 (0.5%)
   Kevin Morfitt                     616 (0.5%)
   Valentin Yakovenkov               573 (0.5%)
   Cliff Cai                         500 (0.4%)
   Nishanth Menon                    480 (0.4%)
   Harald Krapfenbauer               344 (0.3%)
   Ajay Kumar Gupta                  338 (0.3%)
   Liu Yu                            325 (0.3%)
   Renato Andreola                   286 (0.2%)
   Nobuhiro Iwamatsu                 283 (0.2%)
   Reinhard Arlt                     261 (0.2%)
   Kim Phillips                      232 (0.2%)
   Dirk Behme                        228 (0.2%)
   Sandeep Paulraj                   204 (0.2%)
   Mingkai Hu                        196 (0.2%)
   Alessandro Rubini                 188 (0.2%)
   Anton Vorontsov                   185 (0.2%)
   Wolfgang Wegner                   162 (0.1%)
   Minkyu Kang                       158 (0.1%)
   Ben Warren                        143 (0.1%)
   Mahavir Jain                      123 (0.1%)
   Scott Wood                        123 (0.1%)
   Peter Korsgaard                   115 (0.1%)
   Magnus Lilja                      112 (0.1%)
   Ingo van Lil                      98 (0.1%)
   David Brownell                    96 (0.1%)
   Semih Hazar                       77 (0.1%)
   Matthias Fuchs                    75 (0.1%)
   Becky Bruce                       75 (0.1%)
   Prafulla Wadaskar                 73 (0.1%)
   Chris Zhang                       67 (0.1%)
   Rupjyoti Sarmah                   66 (0.1%)
   Prathap Srinivas                  58 (0.0%)
   Timur Tabi                        53 (0.0%)
   Sandeep Gopalpet                  52 (0.0%)
   Dave Liu                          45 (0.0%)
   Li Yang                           45 (0.0%)
   Richard Retanubun                 45 (0.0%)
   Anatolij Gustschin                44 (0.0%)
   Remy Bohmer                       41 (0.0%)
   Anders Darander                   34 (0.0%)
   Achim Ehrlich                     34 (0.0%)
   Sanjeev Premi                     27 (0.0%)
   Hui.Tang                          27 (0.0%)
   Shinya Kuribayashi                26 (0.0%)
   Robert P. J. Day                  25 (0.0%)
   Grazvydas Ignotas                 21 (0.0%)
   Seunghyeon Rhee                   19 (0.0%)
   Eugene O'Brien                    18 (0.0%)
   Michal Simek                      17 (0.0%)
   Scott Ellis                       16 (0.0%)
   Matthias Weisser                  13 (0.0%)
   Frans Meulenbroeks                9 (0.0%)
   Felix Radensky                    8 (0.0%)
   Michael Zaidman                   7 (0.0%)
   Siddarth Gore                     7 (0.0%)
   Thomas Chou                       6 (0.0%)
   Siarhei Siamashka                 6 (0.0%)
   Mark Asselstine                   5 (0.0%)
   Daniel Hobi                       4 (0.0%)
   Jean-Christophe PLAGNIOL-VILLARD  4 (0.0%)
   Hiremath Vaibhav                  2 (0.0%)
   James Yang                        2 (0.0%)
   Thomas Weber                      1 (0.0%)
   Asen Dimov                        1 (0.0%)
   Jeff Angielski                    1 (0.0%)
   Vivek Mahajan                     1 (0.0%)
   John Ogness                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Detlev Zundel                     46285 (62.9%)
   Stefan Roese                      12093 (16.4%)
   Ladislav Michl                    302 (0.4%)
   Cliff Cai                         260 (0.4%)
   Joakim Tjernlund                  227 (0.3%)
   Mingkai Hu                        130 (0.2%)
   Semih Hazar                       44 (0.1%)
   Li Yang                           31 (0.0%)
   Scott Wood                        25 (0.0%)
   Robert P. J. Day                  15 (0.0%)
   Kumar Gala                        14 (0.0%)
   Nishanth Menon                    4 (0.0%)
   Seunghyeon Rhee                   4 (0.0%)
   Jean-Christophe PLAGNIOL-VILLARD  3 (0.0%)
   Michael Zaidman                   2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Ben Warren                        26 (14.8%)
   Mike Frysinger                    25 (14.2%)
   Stefan Roese                      20 (11.4%)
   Kumar Gala                        20 (11.4%)
   Sandeep Paulraj                   20 (11.4%)
   Kim Phillips                      7 (4.0%)
   Wolfgang Denk                     6 (3.4%)
   Cliff Cai                         5 (2.8%)
   Fred Fan                          5 (2.8%)
   Remy Bohmer                       5 (2.8%)
   Swaminathan S                     4 (2.3%)
   Minkyu Kang                       3 (1.7%)
   Nick Thompson                     3 (1.7%)
   Scott McNutt                      2 (1.1%)
   Andreas Huber                     2 (1.1%)
   Rohit Hagargundgi                 2 (1.1%)
   Detlev Zundel                     1 (0.6%)
   Li Yang                           1 (0.6%)
   Scott Wood                        1 (0.6%)
   Andrew Morton                     1 (0.6%)
   FUJITA Kazutoshi                  1 (0.6%)
   Ron Lee                           1 (0.6%)
   Holger Brunck                     1 (0.6%)
   Sudhakar Rajashekhara             1 (0.6%)
   Daniel Hellstrom                  1 (0.6%)
   Jin Qing                          1 (0.6%)
   David Woodhouse                   1 (0.6%)
   Hiremath Vaibhav                  1 (0.6%)
   Thomas Chou                       1 (0.6%)
   Sandeep Gopalpet                  1 (0.6%)
   Anatolij Gustschin                1 (0.6%)
   Dave Liu                          1 (0.6%)
   Becky Bruce                       1 (0.6%)
   Alessandro Rubini                 1 (0.6%)
   Peter Tyser                       1 (0.6%)
   Wolfgang Grandegger               1 (0.6%)
   Sekhar Nori                       1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Minkyu Kang                       1 (33.3%)
   Detlev Zundel                     1 (33.3%)
   Tom                               1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Seunghyeon Rhee                   1 (33.3%)
   Richard Retanubun                 1 (33.3%)
   Heiko Schocher                    1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alessandro Rubini                 1 (33.3%)
   Quentin Armitage                  1 (33.3%)
   Himanshu Chauhan                  1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     1 (33.3%)
   Anatolij Gustschin                1 (33.3%)
   Shinya Kuribayashi                1 (33.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         104 (22.2%)
   DENX Software Engineering         92 (19.7%)
   Analog Devices                    62 (13.2%)
   Freescale                         57 (12.2%)
   Texas Instruments                 35 (7.5%)
   Wind River                        16 (3.4%)
   ESD Electronics                   15 (3.2%)
   ST Microelectronics               13 (2.8%)
   Extreme Engineering Solutions     12 (2.6%)
   Graeme Russ                       10 (2.1%)
   General Electric                  7 (1.5%)
   Transmode Systems                 6 (1.3%)
   GE Fanuc                          5 (1.1%)
   Marvell                           5 (1.1%)
   Samsung                           5 (1.1%)
   Universita di Pavia               4 (0.9%)
   Grazvydas Ignotas                 3 (0.6%)
   MontaVista                        2 (0.4%)
   RuggedCom                         2 (0.4%)
   Xilinx                            2 (0.4%)
   Dirk Behme                        2 (0.4%)
   Oce Technologies                  2 (0.4%)
   linutronix                        1 (0.2%)
   NEC                               1 (0.2%)
   Ronetix                           1 (0.2%)
   taskit                            1 (0.2%)
   Nobuhiro Iwamatsu                 1 (0.2%)
   Barco                             1 (0.2%)
   Funky                             1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         77046 (63.8%)
   (Unknown)                         15732 (13.0%)
   Wind River                        6089 (5.0%)
   Analog Devices                    5821 (4.8%)
   ST Microelectronics               4871 (4.0%)
   Freescale                         2372 (2.0%)
   Texas Instruments                 1992 (1.7%)
   ESD Electronics                   1187 (1.0%)
   Extreme Engineering Solutions     1005 (0.8%)
   Samsung                           873 (0.7%)
   Graeme Russ                       760 (0.6%)
   Transmode Systems                 657 (0.5%)
   General Electric                  528 (0.4%)
   GE Fanuc                          389 (0.3%)
   Nobuhiro Iwamatsu                 283 (0.2%)
   Dirk Behme                        228 (0.2%)
   Marvell                           203 (0.2%)
   MontaVista                        185 (0.2%)
   Universita di Pavia               179 (0.1%)
   Barco                             115 (0.1%)
   RuggedCom                         45 (0.0%)
   Oce Technologies                  41 (0.0%)
   taskit                            34 (0.0%)
   NEC                               26 (0.0%)
   Grazvydas Ignotas                 21 (0.0%)
   Xilinx                            17 (0.0%)
   Funky                             4 (0.0%)
   linutronix                        1 (0.0%)
   Ronetix                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         34 (19.3%)
   Freescale                         33 (18.8%)
   Analog Devices                    30 (17.0%)
   DENX Software Engineering         29 (16.5%)
   Texas Instruments                 27 (15.3%)
   Samsung                           5 (2.8%)
   Oce Technologies                  5 (2.8%)
   GE Fanuc                          3 (1.7%)
   Keymile                           3 (1.7%)
   Psyent                            2 (1.1%)
   Extreme Engineering Solutions     1 (0.6%)
   Debian.org                        1 (0.6%)
   Gaisler Research                  1 (0.6%)
   Intel                             1 (0.6%)
   Linux Foundation                  1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         35 (36.8%)
   Freescale                         12 (12.6%)
   DENX Software Engineering         7 (7.4%)
   Texas Instruments                 7 (7.4%)
   Analog Devices                    5 (5.3%)
   ESD Electronics                   3 (3.2%)
   Marvell                           3 (3.2%)
   Samsung                           2 (2.1%)
   Oce Technologies                  1 (1.1%)
   GE Fanuc                          1 (1.1%)
   Extreme Engineering Solutions     1 (1.1%)
   Wind River                        1 (1.1%)
   ST Microelectronics               1 (1.1%)
   Graeme Russ                       1 (1.1%)
   Transmode Systems                 1 (1.1%)
   General Electric                  1 (1.1%)
   Nobuhiro Iwamatsu                 1 (1.1%)
   Dirk Behme                        1 (1.1%)
   MontaVista                        1 (1.1%)
   Universita di Pavia               1 (1.1%)
   Barco                             1 (1.1%)
   RuggedCom                         1 (1.1%)
   taskit                            1 (1.1%)
   NEC                               1 (1.1%)
   Grazvydas Ignotas                 1 (1.1%)
   Xilinx                            1 (1.1%)
   Funky                             1 (1.1%)
   linutronix                        1 (1.1%)
   Ronetix                           1 (1.1%)
   ================================  =====
