]> Kevux Git Server - rit/commit
environment: stop using core.sparseCheckout globally
authorOlamide Caleb Bello <belkid98@gmail.com>
Mon, 16 Feb 2026 16:38:26 +0000 (17:38 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 26 Feb 2026 15:22:51 +0000 (07:22 -0800)
commit4021751558126d39b642503e7ef4768131df45e7
tree9ba6735a46894f0f969247b3c4f7261038dd468d
parentf9b3c1f731dd12144cd6d1e27787e99beb3a631f
environment: stop using core.sparseCheckout globally

The config value `core.sparseCheckout` is parsed in
`git_default_core_config()` and stored globally in
`core_apply_sparse_checkout`. This could cause it to be overwritten
by another repository when different Git repositories run in the same
process.

Move the parsed value into `struct repo_config_values` in the_repository
to retain current behaviours and move towards libifying Git.

Suggested-by: Phillip Wood <phillip.wood123@gmail.com>
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>
12 files changed:
builtin/backfill.c
builtin/clone.c
builtin/grep.c
builtin/mv.c
builtin/sparse-checkout.c
builtin/worktree.c
dir.c
environment.c
environment.h
sparse-index.c
unpack-trees.c
wt-status.c