qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] MAINTAINERS leaves too many files uncovered
@ 2014-10-20  9:19 Markus Armbruster
  2014-10-20 18:36 ` Paolo Bonzini
                   ` (2 more replies)
  0 siblings, 3 replies; 55+ messages in thread
From: Markus Armbruster @ 2014-10-20  9:19 UTC (permalink / raw)
  To: qemu-devel

In my experience, too many files are not covered by MAINTAINERS.
scripts/get_maintainer.pl falls back to git then, unless you say
--no-git-fallback.  Copies sent there tends to annoy their recipients
without accomplishing all that much.

Two obvious improvements:

* Easy: Flip scripts/get_maintainer.pl's default to --no-git-fallback.
  I'll post the obvious patch, please raise your objections there.

* Harder: improve MAINTAINERS coverage.

Let me back up subjective experience with hard data.  The tree has quite
a few files:

    $ git-ls-files | wc -l
    3746

Counting them by extension:

    $ git-ls-files | sed -n 's#.*/##;s#.*\.##p' | sort | uniq -c | sort -nr
       1836 c
        818 h
        133 out
        105 S
         97 objs
         69 s
         64 mak
         48 json
         47 py
         41 txt
         33 exit
         33 err
         16 xml
         16 bin
         13 rom
         12 sh
         12 dsl
[Long tail that doesn't add up to anything interesting omitted]

Let's look for .c not in MAINTAINERS:

    $ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f --no-git-fallback $i`" ] || echo $i; done >unmaintained-files
    $ grep -c '\.c$' unmaintained-files
    1066

That's almost 60%.  Not good.

Apparently, nobody cares for tests:

    $ grep '^tests/' unmaintained-files | grep -c '\.c$'
    654
    $ git-ls-files | grep '^tests/' | grep -c '\.c$'
    664

Filtering those out leaves us with 412 unmaintained out of of 1172, or
35% unmaintained.  Not good even if we (foolishly!) considered tests not
worthy of maintenance.

Maybe unmaintained files are much smaller.  David A.  Wheeler's
SLOCCount counts 570kSLOC in 1212 maintained files (+140 files sloccount
doesn't know how to count) vs. 300kSLOC in 1798 unmaintained files (+596
uncounted), or 35% unmaintained SLOC.  With tests/ ignored, it's 30%.
So, unmaintained files are indeed smaller, but 30-something percent is
still not good.

Where are the unmaintained files?  Top-scoring directories outside
tests/ and include/, files in subdirs not counted:

    #files   directory
    84  68%  .
    63 100%  default-configs
    48 100%  pc-bios
    43  97%  stubs
    39 100%  util
    37 100%  pc-bios/keymaps
    35  81%  hw/display
    32  94%  scripts
    26  92%  docs
    26 100%  libcacard
    23  69%  hw/misc
    22  57%  hw/net
    21  63%  hw/intc
    19 100%  roms
    18 100%  disas
    18  56%  hw/timer
    16 100%  hw/core
    15  53%  hw/char
    15 100%  qga
    14 100%  docs/specs
    12  92%  hw/input
    12 100%  qobject
    12 100%  target-m68k
    11 100%  backends
    11 100%  pc-bios/s390-ccw
    10  71%  hw/dma

Ideas?  Takers?

^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2018-11-26 13:54 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-20  9:19 [Qemu-devel] MAINTAINERS leaves too many files uncovered Markus Armbruster
2014-10-20 18:36 ` Paolo Bonzini
2014-10-22  8:23 ` Markus Armbruster
2014-10-22  9:00   ` Paolo Bonzini
2014-10-22 11:45     ` Markus Armbruster
2014-10-22 11:50       ` Paolo Bonzini
2014-10-22 13:06         ` Markus Armbruster
2014-10-22 13:22           ` Alexander Graf
2014-10-22 13:36           ` Paolo Bonzini
2014-10-22 11:58       ` [Qemu-devel] MAINTAINERS: please add myself as usb-serial.c and baum.c maintainer Samuel Thibault
2014-10-22 12:51         ` Paolo Bonzini
2014-10-22 13:00         ` Markus Armbruster
2014-10-22 13:53           ` Samuel Thibault
2014-10-22 15:21             ` Markus Armbruster
2014-10-22 12:06       ` [Qemu-devel] MAINTAINERS leaves too many files uncovered Michael Roth
2014-10-22 12:54       ` Luiz Capitulino
2015-09-22  9:13   ` Markus Armbruster
2015-09-22 10:06     ` Daniel P. Berrange
2015-09-22 10:18       ` Paolo Bonzini
2015-09-22 13:42     ` Thomas Huth
2015-09-22 14:58       ` Gerd Hoffmann
2015-09-22 15:13       ` Juan Quintela
2015-09-22 14:58     ` Daniel P. Berrange
2015-09-22 15:40       ` Peter Maydell
2015-09-22 18:07     ` Eric Blake
2015-09-22 19:50       ` Paolo Bonzini
2015-09-23  8:24       ` Kevin Wolf
2015-09-23  8:30         ` Alberto Garcia
2015-09-24 12:49           ` Markus Armbruster
2015-09-24 12:47       ` Markus Armbruster
2015-09-22 18:37     ` John Snow
2016-08-30 11:31     ` Markus Armbruster
2016-08-30 12:26       ` Cornelia Huck
2016-08-30 12:40         ` Paolo Bonzini
2016-08-30 13:29           ` Cornelia Huck
2016-08-30 12:48       ` Paolo Bonzini
2016-08-30 12:57         ` Peter Maydell
2016-08-30 18:31           ` John Snow
2016-08-30 14:47         ` Paolo Bonzini
2016-08-30 15:29           ` Markus Armbruster
2016-08-30 15:33             ` Paolo Bonzini
2016-08-31  8:28               ` Markus Armbruster
2016-08-30 13:39       ` Cornelia Huck
2016-09-12 13:56       ` Thomas Huth
2016-09-23 12:56       ` Thomas Huth
2016-09-23 14:47         ` Thomas Huth
2018-11-21 18:14       ` Markus Armbruster
2018-11-22 12:22         ` Thomas Huth
2018-11-22 21:56           ` BALATON Zoltan
2018-11-23  5:17             ` Philippe Mathieu-Daudé
2018-11-23 10:56               ` BALATON Zoltan
2018-11-23 11:03                 ` Philippe Mathieu-Daudé
2018-11-26 13:54           ` Markus Armbruster
2014-10-22 14:02 ` Alex Bennée
2014-10-22 15:26   ` Markus Armbruster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).