From: Junio C Hamano <gitster@pobox.com>
To: Garrit Franke <garrit@slashdev.space>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] bisect.c: remove unused includes
Date: Thu, 31 Mar 2022 14:29:42 -0700 [thread overview]
Message-ID: <xmqqlewpzu7t.fsf@gitster.g> (raw)
In-Reply-To: <20220331194436.58005-1-garrit@slashdev.space> (Garrit Franke's message of "Thu, 31 Mar 2022 21:44:36 +0200")
Garrit Franke <garrit@slashdev.space> writes:
> Clean up includes no longer needed by bisect.c.
>
> Signed-off-by: Garrit Franke <garrit@slashdev.space>
> ---
> bisect.c | 9 ---------
> 1 file changed, 9 deletions(-)
>
> diff --git a/bisect.c b/bisect.c
> index 9e6a2b7f20..e07e2d215d 100644
> --- a/bisect.c
> +++ b/bisect.c
> @@ -1,21 +1,12 @@
> -#include "cache.h"
cf. Documentation/CodingGuidelines
The first #include must be <git-compat-util.h>, or <cache.h> or
<builtin.h>, which are well known to include <git-compat-util.h>
first.
Including <git-compat-util.h> indirectly by <config.h> ->
<hashmap.h> -> <hash.h> -> <git-compat-util.h> does not count.
> #include "config.h"
> -#include "commit.h"
Other headers may indirectly include <commit.h> as their
implementation detail, but what matters is that *we* in this source
file use what <commit.h> gives us ourselves, like the concrete shape
of "struct commit_list". This change is not wanted.
I'll stop here. There may be truly leftover "unused" includes among
those removed by the remainder of this patch, but I suspect that
some are like <commit.h> above, i.e. we directly use it, and because
we do not want to be broken by some header file's implementation
detail changing, we MUST include it ourselves.
I think this should give us a useful guideline to sift through the
rest, and an updated patch to remove truly unused ones are very much
welcome. We may actually find some we are not directly including
ourselves but we should (e.g. I do not see <string-list.h> included
by us, but we clearly use structures and functions declared there,
and probably is depending, wrongly, on some header file we include
happens to indirectly include it).
Thanks.
> -#include "diff.h"
> -#include "revision.h"
> #include "refs.h"
> #include "list-objects.h"
> #include "quote.h"
> -#include "hash-lookup.h"
> #include "run-command.h"
> #include "log-tree.h"
> #include "bisect.h"
> -#include "oid-array.h"
> -#include "strvec.h"
> -#include "commit-slab.h"
> #include "commit-reach.h"
> #include "object-store.h"
> -#include "dir.h"
>
> static struct oid_array good_revs;
> static struct oid_array skipped_revs;
next prev parent reply other threads:[~2022-03-31 21:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-31 19:44 [PATCH] bisect.c: remove unused includes Garrit Franke
2022-03-31 21:29 ` Junio C Hamano [this message]
2022-04-01 8:07 ` using iwyu (include-what-you-use) to analyze includes (was: [PATCH] bisect.c: remove unused includes) Ævar Arnfjörð Bjarmason
2022-04-05 11:45 ` [PATCH v2 0/4] various: use iwyu (include-what-you-use) to analyze includes Garrit Franke
2022-04-06 7:54 ` Ævar Arnfjörð Bjarmason
2022-04-05 11:45 ` [PATCH v2 1/4] contrib: add iwyu script Garrit Franke
2022-04-06 7:40 ` Ævar Arnfjörð Bjarmason
2022-04-05 11:45 ` [PATCH v2 2/4] bisect.c: remove unnecessary include Garrit Franke
2022-04-06 7:50 ` Ævar Arnfjörð Bjarmason
2022-04-06 16:41 ` Junio C Hamano
2022-04-05 11:45 ` [PATCH v2 3/4] serve.c: " Garrit Franke
2022-04-05 11:45 ` [PATCH v2 4/4] apply.c: " Garrit Franke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqlewpzu7t.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=garrit@slashdev.space \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).