[PATCH v3 0/8] environment: move core config globals into repo_config_values
- From
Olamide Caleb Bello <belkid98@gmail.com>
- Date
- Apr 23, 2026, 16:54 UTC
- Message-ID
- <20260423165432.143598-1-belkid98@gmail.com>
- In-Reply-To
- <CAOLa=ZQDXn7181VfHpcWtNOSjTh9nzM3YnDTG_X1Vqh_v64bwg@mail.gmail.com>
This series continues the effort to remove repository-dependent global configuration state by moving several core.* configuration variables into struct repo_config_values.
This ensures configuration values are tied to the repository from which they were read, avoiding cross-repository state leakage in processes handling multiple repositories, while preserving existing behavior.
All affected configuration values are eagerly parsed. Storing them in repo_config_values preserves current semantics and avoids introducing lazy parsing into runtime code paths.
This v3 addresses review feedback by explicitly clarifying the reason these values belong in repo_config_values (eager parsing) and improving commit message clarity.
Olamide Caleb Bello (8):
environment: move "trust_ctime" into `struct repo_config_values`
environment: move "check_stat" into `struct repo_config_values`
environment: move `zlib_compression_level` into `struct
repo_config_values`
environment: move "pack_compression_level" into `struct
repo_config_values`
environment: move "precomposed_unicode" into `struct
repo_config_values`
env: move "core_sparse_checkout_cone" into `struct repo_config_values`
env: move "sparse_expect_files_outside_of_patterns" into
`repo_config_values`
env: move "warn_on_object_refname_ambiguity" into `struct
repo_config_values`builtin/cat-file.c | 7 ++++--- builtin/fast-import.c | 8 +++++--- builtin/index-pack.c | 3 ++- builtin/mv.c | 2 +- builtin/pack-objects.c | 24 +++++++++++++---------- builtin/sparse-checkout.c | 37 +++++++++++++++++++++--------------- compat/precompose_utf8.c | 20 +++++++++++++------- diff.c | 3 ++- dir.c | 3 ++- entry.c | 3 ++- environment.c | 40 +++++++++++++++++++++------------------ environment.h | 19 ++++++++++--------- http-push.c | 3 ++- object-file.c | 6 ++++-- object-name.c | 3 ++- revision.c | 7 ++++--- sparse-index.c | 4 ++-- statinfo.c | 12 +++++++----- submodule.c | 7 ++++--- upload-pack.c | 3 ++- 20 files changed, 126 insertions(+), 88 deletions(-)
-- 2.53.0.155.g9f36b15afa