Re: [RFC PATCH v2 1/1] scripts: Introduce a default git.orderFile
From: Masahiro Yamada
Date: Tue Sep 12 2023 - 03:53:52 EST
On Tue, Sep 12, 2023 at 8:45 AM Leonardo Bras <leobras@xxxxxxxxxx> wrote:
>
> When reviewing patches, it looks much nicer to have some changes shown
> before others, which allow better understanding of the patch before the
> the .c files reviewing.
>
> Introduce a default git.orderFile, in order to help developers getting the
> best ordering easier.
>
> Signed-off-by: Leonardo Bras <leobras@xxxxxxxxxx>
> ---
>
> Please provide feedback on what else to add / remove / reorder here!
>
> Changes since RFCv1:
> - Added Kconfig* (thanks Randy Dunlap!)
> - Changed Kbuild to Kbuild* (improve matching)
>
> scripts/git.orderFile | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
> create mode 100644 scripts/git.orderFile
>
> diff --git a/scripts/git.orderFile b/scripts/git.orderFile
> new file mode 100644
> index 000000000000..819f0a957fe3
> --- /dev/null
> +++ b/scripts/git.orderFile
> @@ -0,0 +1,32 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
Please use "# SPDX-License-Identifier: GPL-2.0".
/* ... */ is not a valid comment style for the orderfile.
> +# order file for git, to produce patches which are easier to review
> +# by diffing the important stuff like header changes first.
> +#
> +# one-off usage:
> +# git diff -O scripts/git.orderfile ...
> +#
> +# add to git config:
> +# git config diff.orderFile scripts/git.orderfile
These comments are bogus.
I guess this comment header was copied from QEMU,
but you changed the file path
from scripts/git.orderfile to scripts/git.orderFile.
You need to adjust the comment lines to
git diff -O scripts/git.orderFile ...
git config diff.orderFile scripts/git.orderFile
Or, you need to get the file path back to scripts/git.orderfile
> +#
> +
> +MAINTAINERS
> +
> +# Documentation
> +Documentation/*
> +*.rst
> +
> +# build system
> +Kbuild*
> +Kconfig*
> +Makefile*
Kbuild* and Makefile* are interchangeable.
(both are for GNU Make)
Kconfig* are different types.
Better to arrange the order to
Kconfig*
Kbuild*
Makefile*
> +*.mak
QEMU consistently uses only *.mak.
I just realized the kernel tree uses both *.mak and *.mk
masahiro@zoe:~/ref/linux(master)$ find . -name '*.mak'
./tools/scripts/utilities.mak
masahiro@zoe:~/ref/linux(master)$ find . -name '*.mk'
./tools/testing/selftests/lib.mk
./tools/testing/selftests/ptp/testptp.mk
BTW, I quickly tested this, but
it did not work as I expected.
masahiro@zoe:~/ref/linux(aaa)$ git diff --name-only d34599b^..d34599b
MAINTAINERS
drivers/Kconfig
drivers/Makefile
drivers/cache/Kconfig
drivers/cache/Makefile
drivers/cache/ax45mp_cache.c
masahiro@zoe:~/ref/linux(aaa)$ git diff --name-only -O
scripts/git.orderFile d34599b^..d34599b
MAINTAINERS
drivers/cache/ax45mp_cache.c
drivers/Kconfig
drivers/Makefile
drivers/cache/Kconfig
drivers/cache/Makefile
masahiro@zoe:~/ref/linux(aaa)$ git diff --name-only -O
scripts/git.orderFile d34599b..d34599b^
MAINTAINERS
drivers/cache/ax45mp_cache.c
drivers/Kconfig
drivers/Makefile
drivers/cache/Kconfig
drivers/cache/Makefile
My expectation was the following:
MAINTAINERS
drivers/Kconfig
drivers/cache/Kconfig
drivers/Makefile
drivers/cache/Makefile
drivers/cache/ax45mp_cache.c
It did not work like that.
Am I missing something?
> +
> +# semantic patches
> +*.cocci
> +
> +# headers
> +*.h
> +
> +# code
> +*.c
> --
> 2.42.0
>
--
Best Regards
Masahiro Yamada