[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MAINTAINERS still leaves more files uncovered than I'd like
|
From: |
Markus Armbruster |
|
Subject: |
Re: MAINTAINERS still leaves more files uncovered than I'd like |
|
Date: |
Thu, 05 Oct 2023 15:46:00 +0200 |
|
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> On 29/9/23 13:43, Markus Armbruster wrote:
>> Back in 2014 (time flies), I posted
>>
>> Subject: MAINTAINERS leaves too many files uncovered
>> Message-ID: <87mw8rumhb.fsf@blackfin.pond.sub.org>
>> https://lore.kernel.org/qemu-devel/87mw8rumhb.fsf@blackfin.pond.sub.org/
>>
>> I updated my findings in 2015, 2016 (at commit e00da552a0d), and 2018
>> (at v3.1.0-rc2). This is another update, at commit 36e9aab3c56.
>>
>> Unsurprisingly, the number of files in the tree
>>
>> $ git-ls-files | wc -l
>>
>> grows over time:
>>
>> year 2014 2015 2016 2018 2023
>> # 3746 4387 4921 6461 9788
>>
>> Looks exponential to me, doubling every seven years or so.
>>
>> The number of .c files has grown more slowly:
>>
>> year 2014 2015 2016 2018 2023
>> # 1836 1945 2132 2633 3588
>>
>> The number of .c files not covered by MAINTAINERS
>>
>> $ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f
>> --no-git-fallback $i | grep -v '^qemu-devel@nongnu\.org'`" ] || echo $i;
>> done >unmaintained-files
>> $ grep -c '\.c$' unmaintained-files
>>
>> went down a lot after my first post, but has since flatlined:
>>
>> year 2014 2015 2016 2018 2023
>> # 1066 461 402 259 246
>>
>> It looks like we've pretty much stopped adding more unmaintained .c
>> files, i.e. cherry-picking the kernel's 13f1937ef33 (checkpatch: emit a
>> warning on file add/move/delete) as commit 4be6131e329 worked.
>> On the other hand, we're not making progress on the remaining old ones
>> anymore.
>
> How many new files without maintainers?
Since we added the warning:
$ git-diff --diff-filter=A --name-only 4be6131e329 36e9aab3c56 | grep
'\.c$' | join unmaintained-files - | wc -l
105
Less than 20 per year. Could be worse.
Full list appended.
> Shouldn't we turn this warning into an error, so new files must have
> maintainers?
We'd have to make the check a lot smarter first. Not sure that's worth
it.
checkpatch.pl warns when it detects file additions, deletions, or
renames without MAINTAINERS update.
It doesn't warn when the MAINTAINERS update doesn't cover everything
changed.
It may warn when no MAINTAINERS change is needed, say because existing
patterns cover the new files.
accel/dummy-cpus.c
backends/confidential-guest-support.c
disas/capstone.c
disas/disas-mon.c
disas/disas.c
disas/riscv-xthead.c
disas/riscv-xventana.c
event-loop-base.c
hw/core/cpu-sysemu.c
hw/core/gpio.c
hw/core/hotplug-stubs.c
hw/core/machine-hmp-cmds.c
hw/core/resettable.c
hw/core/vm-change-state-handler.c
hw/display/acpi-vga-stub.c
hw/display/acpi-vga.c
hw/display/artist.c
hw/display/ati.c
hw/display/ati_2d.c
hw/display/ati_dbg.c
hw/display/i2c-ddc.c
hw/gpio/gpio_pwr.c
hw/hyperv/hyperv.c
hw/hyperv/hyperv_testdev.c
hw/hyperv/syndbg.c
hw/input/lasips2.c
hw/intc/nios2_vic.c
hw/intc/riscv_aclint.c
hw/intc/riscv_aplic.c
hw/intc/riscv_imsic.c
hw/mem/cxl_type3_stubs.c
hw/misc/axp2xx.c
hw/misc/i2c-echo.c
hw/misc/pvpanic-isa.c
hw/misc/pvpanic-pci.c
hw/misc/sbsa_ec.c
hw/pci-host/gpex-acpi.c
hw/ppc/fw_cfg.c
hw/ppc/pef.c
hw/sensor/dps310.c
hw/sensor/emc141x.c
hw/sensor/lsm303dlhc_mag.c
hw/sensor/max31785.c
hw/virtio/vdpa-dev-pci.c
hw/virtio/vdpa-dev.c
hw/watchdog/sbsa_gwdt.c
monitor/fds.c
pc-bios/optionrom/pvh_main.c
softmmu/async-teardown.c
softmmu/datadir.c
softmmu/globals.c
softmmu/rtc.c
stats/stats-hmp-cmds.c
stats/stats-qmp-cmds.c
target/i386/cpu-dump.c
target/i386/cpu-sysemu.c
target/i386/host-cpu.c
tests/bench/atomic64-bench.c
tests/bench/qtree-bench.c
tests/tcg/hppa/stby.c
tests/tcg/m68k/denormal.c
tests/tcg/m68k/trap.c
tests/tcg/minilib/printf.c
tests/tcg/ppc64/bcdsub.c
tests/tcg/ppc64/byte_reverse.c
tests/tcg/ppc64/mffsce.c
tests/tcg/ppc64/mtfsf.c
tests/tcg/ppc64/non_signalling_xscv.c
tests/tcg/ppc64/signal_save_restore_xer.c
tests/tcg/ppc64/test-aes.c
tests/tcg/ppc64/vector.c
tests/tcg/ppc64/xxspltw.c
tests/tcg/riscv64/noexec.c
tests/tcg/riscv64/test-aes.c
tests/tcg/riscv64/test-div.c
tests/tcg/riscv64/test-fcvtmod.c
tests/unit/test-bdrv-drain.c
tests/unit/test-bdrv-graph-mod.c
tests/unit/test-bitmap.c
tests/unit/test-block-iothread.c
tests/unit/test-blockjob.c
tests/unit/test-char.c
tests/unit/test-cutils.c
tests/unit/test-div128.c
tests/unit/test-error-report.c
tests/unit/test-image-locking.c
tests/unit/test-interval-tree.c
tests/unit/test-nested-aio-poll.c
tests/unit/test-qgraph.c
tests/unit/test-qtree.c
tests/unit/test-write-threshold.c
tests/unit/test-xs-node.c
util/atomic64.c
util/block-helpers.c
util/crc-ccitt.c
util/guest-random.c
util/int128.c
util/interval-tree.c
util/memalign.c
util/nvdimm-utils.c
util/qemu-co-timeout.c
util/qsp.c
util/qtree.c
util/selfmap.c
util/thread-context.c