:orphan:

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

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