On Wed, Sep 11, 2024 at 2:15 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > "John Cai via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > > > From: John Cai <johncai86@xxxxxxxxx> > > > > 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. Okay I see what you mean. Yeah I can do that. > > > 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? Yes, by migrate I meant the process of removing #define and passing in the repository argument through to replace the_repository global. > Thanks.