]> git.ipfire.org Git - thirdparty/git.git/commitdiff
treewide: remove unnecessary git-compat-util.h includes in headers
authorElijah Newren <newren@gmail.com>
Fri, 24 Feb 2023 00:09:21 +0000 (00:09 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 24 Feb 2023 01:25:28 +0000 (17:25 -0800)
For sanity, we should probably do one of the following:

(a) make C and header files both depend upon everything they need
(b) consistently exclude git-compat-util.h from headers and require it
    be the first include in C files

Currently, we have some of the headers following (a) and others
following (b), which makes things messy.  In the past I was pushed
towards (b), as per [1] and [2].  Further, during this series I
discovered that this mixture empirically will mean that we end up with C
files that do not directly include git-compat-util.h, and do include
headers that don't include git-compat-util.h, with the result that we
likely have headers included before an indirect inclusion of
git-compat-util.h.  Since git-compat-util.h has tricky platform-specific
stuff that is meant to be included before everything else, this state of
affairs is risky and may lead to things breaking in subtle ways (and
only on some platforms) as per [1] and [2].

Since including git-compat-util.h in existing header files makes it
harder for us to catch C files that are missing that include, let's
switch to (b) to make the enforcement of this rule easier.  Remove the
inclusion of git-compat-util.h from header files other than the ones
that have been approved as alternate first includes.

[1] https://lore.kernel.org/git/20180811173406.GA9119@sigill.intra.peff.net/
[2] https://lore.kernel.org/git/20180811174301.GA9287@sigill.intra.peff.net/

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
advice.h
cbtree.h
chunk-format.h
commit-graph.h
commit-slab-impl.h
hash.h
pack-mtimes.h
pkt-line.h
repository.h
sub-process.h
trace.h

index 07e0f76833e78070a26ec288db929ec966024d7e..3e1b48bf68deb1f3ee56aecc95a7c1e4139f9ed6 100644 (file)
--- a/advice.h
+++ b/advice.h
@@ -1,8 +1,6 @@
 #ifndef ADVICE_H
 #define ADVICE_H
 
-#include "git-compat-util.h"
-
 struct string_list;
 
 /*
index 0be14fb7ee4276dff338eb27b35c68973dd2c4b2..43193abdda23cef279f9e9cee99370509611f7c5 100644 (file)
--- a/cbtree.h
+++ b/cbtree.h
@@ -14,8 +14,6 @@
 #ifndef CBTREE_H
 #define CBTREE_H
 
-#include "git-compat-util.h"
-
 struct cb_node;
 struct cb_node {
        struct cb_node *child[2];
index 7885aa084878dde2f2786545b7edc05e7d3fee24..025c38f938ed38bd4fdb0c280b3ddc23af8dd525 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef CHUNK_FORMAT_H
 #define CHUNK_FORMAT_H
 
-#include "git-compat-util.h"
 #include "hash.h"
 
 struct hashfile;
index 37faee6b66d59c693dc9ee829dbd5ad61654fe3c..bb88bec7aa3d8f0d56b262b21b3a2ea47b969b52 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef COMMIT_GRAPH_H
 #define COMMIT_GRAPH_H
 
-#include "git-compat-util.h"
 #include "object-store.h"
 #include "oidset.h"
 
index 557738df271c7dd78c5ddcc65d6fe6e47c665758..4a414ee905d5de4498d1fcca2da53e7c6a07b50e 100644 (file)
@@ -1,8 +1,6 @@
 #ifndef COMMIT_SLAB_IMPL_H
 #define COMMIT_SLAB_IMPL_H
 
-#include "git-compat-util.h"
-
 #define implement_static_commit_slab(slabname, elemtype) \
        implement_commit_slab(slabname, elemtype, MAYBE_UNUSED static)
 
diff --git a/hash.h b/hash.h
index 36b64165fc96375457415a6348eeebd2944c41f9..351afc2ce3b5971e9a14b3e2c73fcfa215229408 100644 (file)
--- a/hash.h
+++ b/hash.h
@@ -1,7 +1,6 @@
 #ifndef HASH_H
 #define HASH_H
 
-#include "git-compat-util.h"
 #include "repository.h"
 
 #if defined(SHA1_APPLE)
index cc957b3e852716541f764a40641462cb39fe0407..107327cec0bc5202051b6139e926fd27a1ce6c9c 100644 (file)
@@ -1,8 +1,6 @@
 #ifndef PACK_MTIMES_H
 #define PACK_MTIMES_H
 
-#include "git-compat-util.h"
-
 #define MTIMES_SIGNATURE 0x4d544d45 /* "MTME" */
 #define MTIMES_VERSION 1
 
index 79c538b99e477660fb8819d7fd0175daf4520cc5..8e9846f3151eece6ebd782d946645c61a6382eb1 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef PKTLINE_H
 #define PKTLINE_H
 
-#include "git-compat-util.h"
 #include "strbuf.h"
 #include "sideband.h"
 
index e8c67ffe16542425b3660b88f2dcf339a473369e..15a8afc5fb5b31b12bc3495663f9f3ca2f399c7e 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef REPOSITORY_H
 #define REPOSITORY_H
 
-#include "git-compat-util.h"
 #include "path.h"
 
 struct config_set;
index e85f21fa1a7c2bc59f032b5b2a2cffd6cab771a5..6a61638a8ace0b760e1254bcbea14061c3843a25 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef SUBPROCESS_H
 #define SUBPROCESS_H
 
-#include "git-compat-util.h"
 #include "hashmap.h"
 #include "run-command.h"
 
diff --git a/trace.h b/trace.h
index 4e771f86ac289ada2f5b97eb4013ef313fbb3cbf..1a75824b15e6110feb1dd5f504f0526d894046df 100644 (file)
--- a/trace.h
+++ b/trace.h
@@ -1,7 +1,6 @@
 #ifndef TRACE_H
 #define TRACE_H
 
-#include "git-compat-util.h"
 #include "strbuf.h"
 
 /**