Subject: Re: [PATCH] editorconfig: add Makefiles to "text files"

From: Max Gautier <[email-masked]>
Date: Sun, 24 Mar 2024 08:54:49 +0100

On Sat, Mar 23, 2024 at 10:36:01AM -0700, Junio C Hamano wrote:
> >>  * Does .editorconfig file allow possibly conflicting setting, with
> >>    a reliable conflict resolution rules?
> >
> > Yeah it does: https://spec.editorconfig.org/#id8
> > TL;DR:
> > - from top to bottom, last matching section wins
> > - if multiple .editorconfig are found (up until one with the root key or
> >   in /) closest to the file wins.
> >> 
> >> What I am trying to get at is if it is possible to make something
> >> along this line to work:
> >> 
> >>     [*]
> >> 	charset = utf-8
> >> 	insert_final_newline = true
> >> 	indent_style = tab
> >> 	tab_width = 8
> >>     [*.py]
> >> 	indent_style = space
> >> 	indet_size = 4
> >> 
> >> I am assuming, without knowing, that the conflict resolution rule
> >> may be "for the same setting, the last match wins" so by default we
> >> always use "indent_style = tab", but if we are talking about a Python
> >> script, it is overruled with "indent_style = space".
> >
> > So it looks like it's possible, if we also add judiciously .editorconfig
> > in subdirectory where we have other files which don't want the same
> > settings, probably:
> 
> That is much less than ideal---I was hoping that we can do this
> with just one file.  My reading of that spec is that in the same
> file it would be the last one wins, so something line what I gave
> you above should work more-or-less as-is?
> 

I read it the same way, I didn't intend to imply using one top level
only was not possible ; sorry for the lack of clarity.

> Also I am not sure if there is any reason why ...
> 
> > - po/
> > - t/
> > - contrib/
> > - .github/
> > - ...
> >
> > Not sure if that's easier than adding stuff to the to the root config
> > though.
> 
> ... t/*.sh should use rules different from those that apply to
> check-builtins.sh at the root level, or contrib/mw-to-git/*.perl
> should use Perl rules different from those that apply to
> perl/Git.pm.  So I think "we need per-directory customization" is a
> red herring.

Oh, I was more thinking about the other stuff under t/ , not she scripts
themselves, there is some .test, .diff, lots of files without extensions
(some css apparently, among other stuff) , and without looking in
details, my best guess is that most of this is test samples (=> I mean
things used by the tests to compare / test processing result).
I don't know if that's supposed to be edited manually though.

But yeah, "per-directory customization" isn't good, it multiplies the
place to look when the config is not correct. I was mentioning by fear
that using only one file would be hard to manage is there is too much
patterns. 

-- 
Max Gautier