:orphan:

Release Statistics for U-Boot v1.3.1
====================================

* Processed 40 changesets from 5 developers

* 5 employers found

* A total of 3267 lines added, 1338 removed (delta 1929)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Jean-Christophe PLAGNIOL-VILLARD  16 (40.0%)
   Grant Likely                      11 (27.5%)
   Kumar Gala                        8 (20.0%)
   Wolfgang Denk                     4 (10.0%)
   Gerald Van Baren                  1 (2.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Kumar Gala                        1942 (54.1%)
   Grant Likely                      673 (18.7%)
   Jean-Christophe PLAGNIOL-VILLARD  551 (15.3%)
   Wolfgang Denk                     398 (11.1%)
   Gerald Van Baren                  27 (0.8%)
   ================================  =====


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

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


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jean-Christophe PLAGNIOL-VILLARD  1 (100.0%)
   ================================  =====


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

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


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

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


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

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


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

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


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

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


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

   ================================  =====
   Name                              Count
   ================================  =====
   jcrosoft                          16 (40.0%)
   Secretlab                         11 (27.5%)
   Freescale                         8 (20.0%)
   DENX Software Engineering         4 (10.0%)
   Custom IDEAS                      1 (2.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         1942 (54.1%)
   Secretlab                         673 (18.7%)
   jcrosoft                          551 (15.3%)
   DENX Software Engineering         398 (11.1%)
   Custom IDEAS                      27 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   jcrosoft                          1 (100.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   jcrosoft                          1 (20.0%)
   Freescale                         1 (20.0%)
   Secretlab                         1 (20.0%)
   DENX Software Engineering         1 (20.0%)
   Custom IDEAS                      1 (20.0%)
   ================================  =====
