]> git.ipfire.org Git - thirdparty/git.git/commit
config: make `delta_base_cache_limit` a non-global variable
authorKarthik Nayak <karthik.188@gmail.com>
Tue, 3 Dec 2024 14:44:01 +0000 (15:44 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 3 Dec 2024 23:21:55 +0000 (08:21 +0900)
commitd6b2d21fbf269db7a6be56d28a62cb65a7d7a660
tree9994ba164b0228e0b761173f28d884ffbdca7edc
parentc87910b96b1223d4a1dfe65c04e03863fadef6bc
config: make `delta_base_cache_limit` a non-global variable

The `delta_base_cache_limit` variable is a global config variable used
by multiple subsystems. Let's make this non-global, by adding this
variable independently to the subsystems where it is used.

First, add the setting to the `repo_settings` struct, this provides
access to the config in places where the repository is available. Use
this in `packfile.c`.

In `index-pack.c` we add it to the `pack_idx_option` struct and its
constructor. While the repository struct is available here, it may not
be set  because `git index-pack` can be used without a repository.

In `gc.c` add it to the `gc_config` struct and also the constructor
function. The gc functions currently do not have direct access to a
repository struct.

These changes are made to remove the usage of `delta_base_cache_limit`
as a global variable in `packfile.c`. This brings us one step closer to
removing the `USE_THE_REPOSITORY_VARIABLE` definition in `packfile.c`
which we complete in the next patch.

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/gc.c
builtin/index-pack.c
config.c
environment.c
environment.h
pack-objects.h
pack-write.c
pack.h
packfile.c
repo-settings.c
repo-settings.h