2023-12-05 18:29:37

by Leonardo Brás

[permalink] [raw]
Subject: [RESEND RFC PATCH v4 1/1] scripts: Introduce a default git.orderFile

From: Leonardo Bras <[email protected]>

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 <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
---

Please provide feedback on what else to add / remove / reorder here!

Changes since RFCv3:
- Added "*types.h" matching so type headers appear before regular headers
- Removed line ends ($) in patterns: they previously provided a
false-positive
- Fixed build patterns to allow matching Kconfig, Kbuild & Makefile
in any subdirectory

Changes since RFCv2:
- Fixed licence comment to from /**/ to #
- Fixed filename in how-to comment
- Fix build order: Kconfig -> Kbuild -> Makefile
- Add *.mk extension
- Add line-ends ($) to make sure and get the correct extensions
- Thanks Masahiro Yamada for above suggestions!
- 1 Ack, thanks Randy!

Changes since RFCv1:
- Added Kconfig* (thanks Randy Dunlap!)
- Changed Kbuild to Kbuild* (improve matching)


scripts/git.orderFile | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 scripts/git.orderFile

diff --git a/scripts/git.orderFile b/scripts/git.orderFile
new file mode 100644
index 000000000000..7cef02cbba3c
--- /dev/null
+++ b/scripts/git.orderFile
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: GPL-2.0
+
+# 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
+#
+
+MAINTAINERS
+
+# Documentation
+Documentation/*
+*.rst
+
+# build system
+*Kconfig*
+*Kbuild*
+*Makefile*
+*.mak
+*.mk
+
+# semantic patches
+*.cocci
+
+# headers
+*types.h
+*.h
+
+# code
+*.c
--
2.42.0


2023-12-08 18:04:55

by Leonardo Bras

[permalink] [raw]
Subject: Re: [RESEND RFC PATCH v4 1/1] scripts: Introduce a default git.orderFile

On Fri, Dec 8, 2023 at 10:25 AM Nicolas Schier <[email protected]> wrote:
>
> On Tue, Dec 05, 2023 at 03:28:51PM -0300, Leonardo Bras wrote:
> > From: Leonardo Bras <[email protected]>
> >
> > 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 <[email protected]>
> > Acked-by: Randy Dunlap <[email protected]>
> > ---
> >
> > Please provide feedback on what else to add / remove / reorder here!
> >
> > Changes since RFCv3:
> > - Added "*types.h" matching so type headers appear before regular headers
> > - Removed line ends ($) in patterns: they previously provided a
> > false-positive
> > - Fixed build patterns to allow matching Kconfig, Kbuild & Makefile
> > in any subdirectory
> >
> > Changes since RFCv2:
> > - Fixed licence comment to from /**/ to #
> > - Fixed filename in how-to comment
> > - Fix build order: Kconfig -> Kbuild -> Makefile
> > - Add *.mk extension
> > - Add line-ends ($) to make sure and get the correct extensions
> > - Thanks Masahiro Yamada for above suggestions!
> > - 1 Ack, thanks Randy!
> >
> > Changes since RFCv1:
> > - Added Kconfig* (thanks Randy Dunlap!)
> > - Changed Kbuild to Kbuild* (improve matching)
> >
> >
> > scripts/git.orderFile | 34 ++++++++++++++++++++++++++++++++++
> > 1 file changed, 34 insertions(+)
> > create mode 100644 scripts/git.orderFile
> >
> > diff --git a/scripts/git.orderFile b/scripts/git.orderFile
> > new file mode 100644
> > index 000000000000..7cef02cbba3c
> > --- /dev/null
> > +++ b/scripts/git.orderFile
> > @@ -0,0 +1,34 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +
> > +# 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
> > +#
> > +
> > +MAINTAINERS
> > +
> > +# Documentation
> > +Documentation/*
> > +*.rst
> > +
> > +# build system
> > +*Kconfig*
> > +*Kbuild*
> > +*Makefile*
> > +*.mak
> > +*.mk
>
> I'd like to see 'scripts/*' here, too, to have the build system stuff
> together. Possibly it makes sense to add .gitignore files here too.
>
> Kind regards,
> Nicolas

Sure, I will add it and send a v5 soon.

Thanks!

>
>
> > +
> > +# semantic patches
> > +*.cocci
> > +
> > +# headers
> > +*types.h
> > +*.h
> > +
> > +# code
> > +*.c
> > --
> > 2.42.0
> >
>