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

Re: [PATCH 1/2] mingw: avoid relative `#include`s

From
Johannes Sixt <j6t@kdbg.org>
Date
Oct 12, 2025, 11:45 UTC
Message-ID
<e593886e-eeb4-440f-a317-a2959577e1e3@kdbg.org>
In-Reply-To
<484ef8b825e5d1d68a61f0f8cc2520457e8f4f3a.1759995961.git.gitgitgadget@gmail.com>
Am 09.10.25 um 09:46 schrieb Johannes Schindelin via GitGitGadget:
Show 46 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
> 
> We want to make them relative to the top-level directory.
> 
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>  compat/mingw.c | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/compat/mingw.c b/compat/mingw.c
> index 8538e3d172..da99473f56 100644
> --- a/compat/mingw.c
> +++ b/compat/mingw.c
> @@ -1,22 +1,22 @@
>  #define USE_THE_REPOSITORY_VARIABLE
>  #define DISABLE_SIGN_COMPARE_WARNINGS
>  
> -#include "../git-compat-util.h"
> +#include "git-compat-util.h"
>  #include "win32.h"
>  #include <aclapi.h>
>  #include <sddl.h>
>  #include <conio.h>
>  #include <wchar.h>
> -#include "../strbuf.h"
> -#include "../run-command.h"
> -#include "../abspath.h"
> -#include "../alloc.h"
> +#include "strbuf.h"
> +#include "run-command.h"
> +#include "abspath.h"
> +#include "alloc.h"
>  #include "win32/lazyload.h"
> -#include "../config.h"
> -#include "../environment.h"
> -#include "../trace2.h"
> -#include "../symlinks.h"
> -#include "../wrapper.h"
> +#include "config.h"
> +#include "environment.h"
> +#include "trace2.h"
> +#include "symlinks.h"
> +#include "wrapper.h"
>  #include "dir.h"
>  #include "gettext.h"
>  #define SECURITY_WIN32
Why is this needed?

With #include "foo" it is quite clear that the file is first looked up from the directory of the file being processed. The changed code requires that the top-level directory is among the -I directives of the command lines. Then it would be much more logical to use #include <foo> instead. But that I wouldn't regard as desirable, either, because the included file isn't from a subordinate module or library.

So, IMO, the status quo is perfect and does not need this change.
-- Hannes
Previous: Matthias AßhauerNext: Junio C Hamano
Message 4 of 9 in “Organize mingw includes”
  1. 0/2 Organize mingw includesJohannes Schindelin via GitGitGadget, Oct 9, 2025
  2. 1/2 mingw: avoid relative `#include`sJohannes Schindelin via GitGitGadget, Oct 9, 2025
  3. Matthias AßhauerOct 11, 2025
  4. Johannes SixtOct 12, 2025
  5. Junio C HamanoOct 13, 2025
  6. 2/2 mingw: order `#include`s alphabeticallyJohannes Schindelin via GitGitGadget, Oct 9, 2025
  7. Patrick SteinhardtOct 10, 2025
  8. Johannes SchindelinOct 10, 2025
  9. Junio C HamanoOct 10, 2025

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.