git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] editorconfig: fix style not applying to subdirs anymore

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Mar 11, 2026, 14:16 UTC
Message-ID
<1eb3b78c-5833-4fa9-83f6-237d4a3e78d3@gmail.com>
In-Reply-To
<20260311-b4-pks-editorconfig-fix-subdirs-v1-1-4938193ccd31@pks.im>
On 11/03/2026 07:09, Patrick Steinhardt wrote:
Show 17 quoted lines
> In 046e1117d5 (templates: add .gitattributes entry for sample hooks,
> 2026-02-13) we have added another pattern to our EditorConfig that sets
> the style for our hook templates. As our templates are located in
> "templates/hooks/", we explicitly specify that subdirectory as part of
> the globbing pattern.
> 
> This change causes files in other subdirectories, like for example
> "builtin/add.c", to not be configured properly anymore. This seems to
> stem from a subtlety in the EditorConfig specification [1]:
> 
>    If the glob contains a path separator (a / not inside square
>    brackets), then the glob is relative to the directory level of the
>    particular .editorconfig file itself. Otherwise the pattern may also
>    match at any level below the .editorconfig level.
> 
> What's interesting is that the _whole_ expression is considered to be
> the glob.
Ouch, I'd missed that, thanks for fixing it
Show 15 quoted lines
> So when the expression used is for example "{*.c,foo/*.h}",
> then it will be considered a single glob, and because it contains a path
> separator we will now anchor "*.c" matches to the same directory as the
> ".editorconfig" file.
> 
> Fix this issue by splitting out the configuration for hook templates
> into a separate section. It leads to a tiny bit of duplication, but the
> alternative would be something like the following (note the "{,**/}"):
> 
>    [{{,**/}*.{c,h,sh,bash,perl,pl,pm,txt,adoc},config.mak.*,{,**/}Makefile,templates/hooks/*.sample}]
>    indent_style = tab
>    tab_width = 8
> 
> This starts to become somewhat hard to read, so the duplication feels
> like the better tradeoff.
Agreed
Thanks
Phillip
Show 38 quoted lines
> [1]: https://spec.editorconfig.org/#glob-expressions
> 
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> Hi,
> 
> this fixes a small regression in our EditorConfig introduced in
> 046e1117d5 (templates: add .gitattributes entry for sample hooks,
> 2026-02-13). Thanks!
> 
> Patrick
> ---
>   .editorconfig | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/.editorconfig b/.editorconfig
> index 6e4eaa8e95..82e121a417 100644
> --- a/.editorconfig
> +++ b/.editorconfig
> @@ -4,7 +4,11 @@ insert_final_newline = true
>   
>   # The settings for C (*.c and *.h) files are mirrored in .clang-format.  Keep
>   # them in sync.
> -[{*.{c,h,sh,bash,perl,pl,pm,txt,adoc},config.mak.*,Makefile,templates/hooks/*.sample}]
> +[{*.{c,h,sh,bash,perl,pl,pm,txt,adoc},config.mak.*,Makefile}]
> +indent_style = tab
> +tab_width = 8
> +
> +[templates/hooks/*.sample]
>   indent_style = tab
>   tab_width = 8
>   
> 
> ---
> base-commit: 7f19e4e1b6a3ad259e2ed66033e01e03b8b74c5e
> change-id: 20260311-b4-pks-editorconfig-fix-subdirs-981e6db389ec
> 
> 
Previous: Patrick SteinhardtNext: Junio C Hamano
Message 2 of 3 in “editorconfig: fix style not applying to subdirs anymore”
  1. editorconfig: fix style not applying to subdirs anymorePatrick Steinhardt, Mar 11, 2026
  2. Phillip WoodMar 11, 2026
  3. Junio C HamanoMar 11, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.