Subject: [PATCH v1 0/8] repo_config_values: migrate more globals

From: Olamide Caleb Bello <[email-masked]>
Date: Tue, 10 Mar 2026 13:06:21 +0100

Base series
===========
This series builds on top of the merged series:
  [PATCH v7 0/3] Move repo-specific globals into repo_config_values

available at:
  https://lore.kernel.org/git/<[email-masked]>

It should be applied on top of that series.

Overview
========
This series continues the effort to migrate repository-specific global
variables into struct repo_config_values, further reducing global
state and improving repository isolation.

The previous series introduced the infrastructure for storing
repository-dependent configuration in repo_config_values. This series
extends that work by moving additional environment-related globals into
that struct and updating their call sites accordingly.

This helps avoid cross-repository interference when multiple
repositories are used within the same process, and continues preparing
Git for improved library usage and better encapsulation of repository
state.

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 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: put "sparse_expect_files_outside_of_patterns" in
    `repo_config_values`
  env: move "warn_on_object_refname_ambiguity" into `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    | 15 ++++++++++-----
 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, 122 insertions(+), 83 deletions(-)

-- 
2.53.0.155.g9f36b15afa