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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/29/25 7:36 AM, Ayush Chandekar wrote:
Hey Derrick,

On Thu, Jul 24, 2025 at 6:55 PM Derrick Stolee <stolee@xxxxxxxxx> wrote:

There are two ways to change the approach here to fix the problem
of needing prepare_repo_settings() everyhwere:

   1. With the idea that these sparse-checkout variables are
      critical to the functionality of the repo, they should move
      into the repository struct itself and be initialized along
      with all other values there. This changes the patches (and my
      follow-up series) significantly, but mechanically.

   2. If we are going to change the intention of the repo settings
      struct to move from "optional one-off feature flags" to
      "important information about the core behavior of a repo"
      then we should prepare_repo_settings() when initializing the
      repository struct.

My preference is (1). The only argument for (2) that I can think
of is that it is sometimes helpful to share only the settings for
a repo without sharing the whole repo. But that seems like a weak
reason right now.


Okay, I agree with your points. I can maybe send a new version to address this.

Do we also shift settings like index.sparse to the repository then?

For now, it's important to focus this series on the globals being
converted. We can come back around to the ideas around removing
the settings struct and the prepare_repo_settings() method as a
separate series.

The index.sparse setting is something that is colocated in the
settings partly because of its interaction with feature.experimental
being handled in prepare_repo_settings() but also its very isolated
use. The sparse checkout globals are much more spread out across the
codebase.

Thanks,
-Stolee





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux