On Tue, Mar 23, 2021 at 11:52:26AM -0700, Nick Desaulniers wrote:
On Tue, Mar 23, 2021 at 6:56 AM Greg Kroah-Hartman gregkh@linuxfoundation.org wrote:
On Tue, Mar 16, 2021 at 02:31:33PM -0700, Nick Desaulniers wrote:
A common recurring mistake made when backporting patches to stable is forgetting to check for additional commits tagged with `Fixes:`. This script validates that local commits have a `commit <sha40> upstream.` line in their commit message, and whether any additional `Fixes:` shas exist in the `master` branch but were not included. It can not know about fixes yet to be discovered, or fixes sent to the mailing list but not yet in mainline.
To save time, it avoids checking all of `master`, stopping early once we've reached the commit time of the earliest backport. It takes 0.5s to validate 2 patches to linux-5.4.y when master is v5.12-rc3 and 5s to validate 27 patches to linux-4.19.y. It does not recheck dependencies of found fixes; the user is expected to run this script to a fixed point. It depnds on pygit2 python library for working with git, which can be installed via: $ pip3 install pygit2
It's expected to be run from a stable tree with commits applied. For example, consider 3cce9d44321e which is a fix for f77ac2e378be. Let's say I cherry picked f77ac2e378be into linux-5.4.y but forgot 3cce9d44321e (true story). If I ran:
$ ./scripts/stable/check_backports.py Checking 1 local commits for additional Fixes: in master Please consider backporting 3cce9d44321e as a fix for f77ac2e378be
While interesting, I don't use a git tree for the stable queue, so this doesn't really fit into my workflow, sorry.
Well, what is your workflow?
That's a trick question :) I don't think something like this should target our workflow, but rather should be for someone who wants to send patches over to stable@.
I also think that the formatting patch shouldn't be checking for proper formatting, but rather should just be doing it on it's own.
What I don't know is the right place to put it in... It can go into stable-queue.git, but there are very few people who are aware of it's existance, and even a smaller number who knows how it works.