]> git.ipfire.org Git - thirdparty/git.git/commit
environment: move `zlib_compression_level` into `struct repo_config_values`
authorOlamide Caleb Bello <belkid98@gmail.com>
Tue, 2 Jun 2026 17:09:16 +0000 (18:09 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 2 Jun 2026 23:36:48 +0000 (08:36 +0900)
commite0f86540abd22a98c9701d21d06e75fa2c8d34a0
tree2ed1cdc2392ba8087d472bea32bd4e370da7623a
parent88505ed63711eca184409dfd949437c7e41f994e
environment: move `zlib_compression_level` into `struct repo_config_values`

The `zlib_compression_level` configuration is currently stored in the
global variable `zlib_compression_level`, which makes it shared across
repository instances within a single process.

Store it instead in `repo_config_values`, where eagerly‑parsed
repository configuration lives. `zlib_compression_level` is parsed
eagerly because it determines compression behaviour for objects and
packs – core operations where a lazy parse could lead to unpredictable
results and hinder libification. This preserves the existing
eager‑parsing behavior while tying the value to the repository it
was read from, avoiding cross‑repository state leakage and continuing
the effort to reduce reliance on global configuration state.

Update all references to use `repo_config_values()`.

Mentored-by: Christian Couder <christian.couder@gmail.com>
Mentored-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
Signed-off-by: Olamide Caleb Bello <belkid98@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/index-pack.c
diff.c
environment.c
environment.h
http-push.c
object-file.c