Thread (64 messages) 64 messages, 7 authors, 2026-06-02

[PATCH v2 0/8] repo_config_values: migrate more globals

STALE121d

From: Olamide Caleb Bello <hidden>
Date: 2026-03-24 12:39:07

Revision v2 of 4 in this series.

Revisions (4)
  1. v1 [diff vs current]
  2. v2 current
  3. v3 [diff vs current]
  4. v4 [diff vs current]
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.

Changes since v1:
- Dropped "Base series" section as the dependency has been merged.
- Fixed handling of pack_compression_level: removed use of a local copy and
  updated code to operate directly on cfg->pack_compression_level to avoid
  inconsistencies with option parsing.

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    | 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help