On Sat, Dec 9, 2023 at 3:19 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> > Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > > --- > Changes since RFCv4: > - Added scripts/* into "build system" section > - Added "git-specific" section with this script and .gitignore > - Thanks for this feedback Nicolas! > > 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 | 39 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 39 insertions(+) > create mode 100644 scripts/git.orderFile > > diff --git a/scripts/git.orderFile b/scripts/git.orderFile > new file mode 100644 > index 0000000000000..31649ff53d22c > --- /dev/null > +++ b/scripts/git.orderFile > @@ -0,0 +1,39 @@ > +# 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 > + > +# git-specific > +.gitignore > +scripts/git.orderFile I think scripts/git.orderFile should be part of "scripts/*" below. > + > +# build system > +*Kconfig* > +*Kbuild* > +*Makefile* I do not like this because "foo-Makefile-bar" is not a Makefile, but would match "*Makefile*". If you do not use wildcard at all, 'Makefile' will match to the root-dir and sub-directories. Kconfig */Kconfig* Kbuild Makefile *.mak *.mk scripts/* may satisfy your needs mostly. > +*.mak > +*.mk > +scripts/* > + > +# semantic patches > +*.cocci > + > +# headers > +*types.h > +*.h > + > +# code > +*.c > -- > 2.43.0 > -- Best Regards Masahiro Yamada