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

Re: [PATCH 02/12] treewide: remove unnecessary includes in source files

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 3, 2023, 13:15 UTC
Message-ID
<xmqq1qc35sx2.fsf@gitster.g>
In-Reply-To
<dbfb108214d71ab29c29230eed3c4d40fe4b42b7.1701585682.git.gitgitgadget@gmail.com>
"Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 17 quoted lines
> diff --git a/trace2.c b/trace2.c
> index 6dc74dff4c7..d4220af9ae1 100644
> --- a/trace2.c
> +++ b/trace2.c
> @@ -1,12 +1,8 @@
>  #include "git-compat-util.h"
> -#include "config.h"
> -#include "json-writer.h"
> -#include "quote.h"
>  #include "repository.h"
>  #include "run-command.h"
>  #include "sigchain.h"
>  #include "thread-utils.h"
> -#include "version.h"
>  #include "trace.h"
>  #include "trace2.h"
>  #include "trace2/tr2_cfg.h"

An in-flight topic seem to want to see git_env_bool() that is declared in parse.h that is pulled in via inclusion of config.h hence this hunk breaks 'seen'.

Show 11 quoted lines
> diff --git a/t/helper/test-trace2.c b/t/helper/test-trace2.c
> index d5ca0046c89..a0032ee3964 100644
> --- a/t/helper/test-trace2.c
> +++ b/t/helper/test-trace2.c
> @@ -2,7 +2,6 @@
>  #include "strvec.h"
>  #include "run-command.h"
>  #include "exec-cmd.h"
> -#include "config.h"
>  #include "repository.h"
>  #include "trace2.h"

An in-flight topic starts using "struct key_value_info" that is available via the inclusion of "config.h", hence this hunk breaks the build of 'seen'.

Show 12 quoted lines
> diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c
> index cac20a72b3f..f9472c99143 100644
> --- a/t/helper/test-fast-rebase.c
> +++ b/t/helper/test-fast-rebase.c
> @@ -24,7 +24,6 @@
>  #include "read-cache-ll.h"
>  #include "refs.h"
>  #include "revision.h"
> -#include "sequencer.h"
>  #include "setup.h"
>  #include "strvec.h"
>  #include "tree.h"

I'll register the following evil merge as the merge-fix/ for this topic.

In addition, t/helper/test-fast-rebase.c that is touched by this step will simply disappear with the cc/git-replay topic, so it may not be a bad idea to exclude it from the patchset.

Thanks.
diff --git a/t/helper/test-trace2.c b/t/helper/test-trace2.c
index 16089f04e1..55c06e4269 100644
--- a/t/helper/test-trace2.c
+++ b/t/helper/test-trace2.c
@@ -1,4 +1,5 @@
 #include "test-tool.h"
+#include "config-parse.h"
 #include "strvec.h"
 #include "run-command.h"
 #include "exec-cmd.h"
diff --git a/trace2.c b/trace2.c
index 4fa059199c..452428b09b 100644
--- a/trace2.c
+++ b/trace2.c
@@ -1,4 +1,5 @@
 #include "git-compat-util.h"
+#include "parse.h"
 #include "repository.h"
 #include "run-command.h"
 #include "sigchain.h"
Previous: Elijah Newren via GitGitGadgetNext: Junio C Hamano
Message 6 of 29 in “Additional header cleanups (removing unnecessary includes)”
  1. 00/12 Additional header cleanups (removing unnecessary includes)Elijah Newren via GitGitGadget, Dec 3, 2023
  2. 01/12 treewide: remove unnecessary includes from header filesElijah Newren via GitGitGadget, Dec 3, 2023
  3. 03/12 archive.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 3, 2023
  4. 04/12 blame.h: remove unnecessary includesElijah Newren via GitGitGadget, Dec 3, 2023
  5. 02/12 treewide: remove unnecessary includes in source filesElijah Newren via GitGitGadget, Dec 3, 2023
  6. Junio C HamanoDec 3, 2023
  7. Junio C HamanoDec 20, 2023
  8. Elijah NewrenDec 20, 2023
  9. 05/12 fsmonitor--daemon.h: remove unnecessary includesElijah Newren via GitGitGadget, Dec 3, 2023
  10. 06/12 http.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 3, 2023
  11. 07/12 line-log.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 3, 2023
  12. 08/12 pkt-line.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 3, 2023
  13. 09/12 submodule-config.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 3, 2023
  14. 10/12 trace2/tr2_tls.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 3, 2023
  15. 11/12 treewide: add direct includes currently only pulled in transitivelyElijah Newren via GitGitGadget, Dec 3, 2023
  16. 12/12 treewide: remove unnecessary includes in source filesElijah Newren via GitGitGadget, Dec 3, 2023
  17. 00/12 Additional header cleanups (removing unnecessary includes)Elijah Newren via GitGitGadget, Dec 23, 2023
  18. 01/12 treewide: remove unnecessary includes from header filesElijah Newren via GitGitGadget, Dec 23, 2023
  19. 03/12 archive.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 23, 2023
  20. 02/12 treewide: remove unnecessary includes in source filesElijah Newren via GitGitGadget, Dec 23, 2023
  21. 04/12 blame.h: remove unnecessary includesElijah Newren via GitGitGadget, Dec 23, 2023
  22. 05/12 fsmonitor--daemon.h: remove unnecessary includesElijah Newren via GitGitGadget, Dec 23, 2023
  23. 06/12 http.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 23, 2023
  24. 07/12 line-log.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 23, 2023
  25. 08/12 pkt-line.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 23, 2023
  26. 09/12 submodule-config.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 23, 2023
  27. 10/12 trace2/tr2_tls.h: remove unnecessary includeElijah Newren via GitGitGadget, Dec 23, 2023
  28. 11/12 treewide: add direct includes currently only pulled in transitivelyElijah Newren via GitGitGadget, Dec 23, 2023
  29. 12/12 treewide: remove unnecessary includes in source filesElijah Newren via GitGitGadget, Dec 23, 2023

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.