Subject: Re: [PATCH v2 2/3] builtin: remove USE_THE_REPOSITORY_VARIABLE from builtin.h

From: Junio C Hamano <[email-masked]>
Date: Wed, 11 Sep 2024 11:15:47 -0700

"John Cai via GitGitGadget" <[email-masked]> writes:

> From: John Cai <[email-masked]>
>
> Instead of including USE_THE_REPOSITORY_VARIABLE by default on every
> builtin, remove it from builtin.h and add it to all the builtins that
> reference the_repository.
>
> Also, remove the include statement for repository.h since it gets
> brought in through builtin.h.

Can we have _all_ builtin/*.c files that include "builtin.h" to gain
"#define USE_THE_REPOSITORY_VARIABLE" in this step to make it more
mechanical?  That way we do not have to go through this large patch
manually to review it.

Then another patch can immediately remove the "#define" (and doing
nothing else) from some of the files in builtin/*.c with its commit
message saying "These do not need implicit or explicit accesses to
the_repository as-is", which would make it trivially reviewable,
because such a claim in its commit message can trivially be verified
by simply compiling these files.

After that, manual work to remove implicit or explicit accesses to
the_repository, which would remove the "#define" that becomes
unnecessary, one-patch-per-file can build on top.  Each of them
would be reviewable again.

> The next step will be to migrate each builtin
> from having to use the_repository.

I am not sure what this "to migrate" refers to.  Is it referring
exactly the same thing as what I called "manual work" above?

Thanks.