[Linux-kernel-mentees] [PATCH v2] checkpatch: handle line break between commit and hash value

Lukas Bulwahn lukas.bulwahn at gmail.com
Thu Sep 17 15:17:22 UTC 2020



On Thu, 17 Sep 2020, Ayush wrote:

> Sir,
> 
> I am sorry for the late reply, my health condition was not good in last few days.
> 
> > What is the problem you encountered? What did you expect? What did you
> > observe? Which lines of code are involved? What git command is called?
> > 
> > Why do you expect a certain behaviour?were
>

Very short: you do not understand git. Okay, let us go into detail:
 
> When the git log is (trimmed portion of git log --no-merges --oneline):
> 
> a02254f8a676 dmaengine: ioat: Decreasing allocation chunk size 2M->512K
> bd2bf302eef2 dmaengine: ioat: fixing chunk sizing macros dependency
> 2fea2906b5cb dmaengine: Fix misspelling of "Analog Devices"
> b3cb14310eb4 dt-bindings: dma: renesas,usb-dmac: convert bindings to json-schema
> cde9a96ee24f dt-bindings: dma: renesas,rcar-dmac: convert bindings to json-schema
> fc6f5d0a4983 dmaengine: dw-edma: Decouple dw-edma-core.c from struct pci_dev
> 69388e15f507 pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
> 3dbf1ee6abbb pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
> 9f676e5313c1 gpio: mlxbf2: remove unused including <linux/version.h>
> b392350ec3f2 ALSA: hda/hdmi: Add module option to disable audio component binding
> 4c2b54f73aba gpio: dwapb: Split out dwapb_get_irq() helper
> c59042ed8965 gpio: dwapb: Drop of_match_ptr() & ACPI_PTR() calls
> 4f344e86c739 gpio: dwapb: Drop bogus BUG_ON()s
> 48ce80568346 gpio: dwapb: Switch to more usual pattern of RMW in dwapb_gpio_set_debounce()
> d31275a9dc0b gpio: dwapb: Convert to use IRQ core provided macros
>

How did you generate this list? (Trimming a list is not a valid 
operation...)

If you run:

$ git log --no-merges --oneline d31275a9dc0b..a02254f8a676
a02254f8a676 dmaengine: ioat: Decreasing allocation chunk size 2M->512K
bd2bf302eef2 dmaengine: ioat: fixing chunk sizing macros dependency
2fea2906b5cb dmaengine: Fix misspelling of "Analog Devices"
b3cb14310eb4 dt-bindings: dma: renesas,usb-dmac: convert bindings to json-schema
cde9a96ee24f dt-bindings: dma: renesas,rcar-dmac: convert bindings to json-schema
fc6f5d0a4983 dmaengine: dw-edma: Decouple dw-edma-core.c from struct pci_dev
c2ce6bbcfc9f dmaengine: idxd: export hw version through sysfs
a4e688535a08 dmaengine: ti: k3-udma: Disable memcopy via MCU NAVSS on am654
022467444515 dmaengine: ti: k3-udma: Drop COMPILE_TEST for the drivers for now

that is the full list you get.

If you just copy a subset of git commits from a git log that is not its 
range. A git history is not linear, but only your console is. So something 
happens to make the history look linear, but do not judge a git history by 
its look, its beauty is in its inside.


> then to check commits in this range, I will run:
> 
> $ scripts/checkpatch.pl --show-types -g d31275a9dc0b..a02254f8a676
> 
> The output is
> https://gist.githubusercontent.com/eldraco19/b979e752baa2c6fdc1776c8b65dfa21e/raw/39ad42113141929d93
> 42d9a2962759b4b6b2e3b/checkpatch_issue.txt
> 
> here we can see:
> 1. Not all in-between commits are checked by checkpatch.pl
> 2. Some new commits (which are not in the given range) are also checked by checkpatch.pl
> 
> checkpatch internally used the following command for collecting the commit log:
> 
> $ git log --no-color --no-merges --pretty=format:'%H %s' $git_range
> 
> The result of this command is not what we expect checkpatch to test.
> 
> Please correct me if I am wrong.
>

Yes, you are wrong. Understand git and you will understand the mistake.

> Also I checked other evaluation too.
> (https://lore.kernel.org/linux-kernel-mentees/e6fa87d7-3b80-390f-4db2-40e977a4b635@gmail.com/T/#m17c
> 7f43426bd44b16c4b7f7e59559ed2c8b69a0)
> 
> I am looking into that bug and will try to fix it in v3.
>

Please do. Good luck :)

Lukas


More information about the Linux-kernel-mentees mailing list