summaryrefslogtreecommitdiffstats
path: root/repo-settings.h
diff options
context:
space:
mode:
authorKarthik Nayak <karthik.188@gmail.com>2024-12-03 15:44:01 +0100
committerJunio C Hamano <gitster@pobox.com>2024-12-04 00:21:55 +0100
commitd6b2d21fbf269db7a6be56d28a62cb65a7d7a660 (patch)
tree9994ba164b0228e0b761173f28d884ffbdca7edc /repo-settings.h
parentpackfile: pass down repository to `for_each_packed_object` (diff)
downloadgit-d6b2d21fbf269db7a6be56d28a62cb65a7d7a660.tar.xz
git-d6b2d21fbf269db7a6be56d28a62cb65a7d7a660.zip
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>
Diffstat (limited to 'repo-settings.h')
-rw-r--r--repo-settings.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/repo-settings.h b/repo-settings.h
index 51d6156a11..10a6f7ed64 100644
--- a/repo-settings.h
+++ b/repo-settings.h
@@ -57,12 +57,15 @@ struct repo_settings {
int core_multi_pack_index;
int warn_ambiguous_refs; /* lazily loaded via accessor */
+
+ size_t delta_base_cache_limit;
};
#define REPO_SETTINGS_INIT { \
.index_version = -1, \
.core_untracked_cache = UNTRACKED_CACHE_KEEP, \
.fetch_negotiation_algorithm = FETCH_NEGOTIATION_CONSECUTIVE, \
.warn_ambiguous_refs = -1, \
+ .delta_base_cache_limit = DEFAULT_DELTA_BASE_CACHE_LIMIT, \
}
void prepare_repo_settings(struct repository *r);