Subject: Re: [GSOC PATCH v6 0/3] environment: remove sparse-checkout related global variables

From: Derrick Stolee <[email-masked]>
Date: Tue, 26 Aug 2025 08:20:37 -0400

On 8/10/25 11:36 AM, Ayush Chandekar wrote:
> Just an update, I'm still working on this patch series.

Hi Ayush. Do you have an update on your progress? Perhaps there
is something you're stuck on and could use some help?

A few weeks ago, I played around with the ideas around updating
the location of these globals into the repository struct and
made this critical observation:

   It's "easy" to move the global into the_repository, but it
   becomes harder (and changes behavior) if we start referring
   to the data in each repository struct.

It may be good to separate the two things into different steps:

  1. Move the globals into the repository struct, but only set
     or read from the_repository->sparse_checkout[_cone].

  2. Replace the use of the_repository and instead refer to a
     specific repo. This may change behavior of the feature in
     the presence of submodules with different config than the
     root repo (tests before and after will be necessary).
     We'll also need to update the_repository during the very
     early config parsing but then update other repos during
     repo initialization.

Does this make sense based on your progress in this space?

Thanks,
-Stolee