repo-settings: consolidate some config settings
There are a few important config settings that are not loaded during git_default_config. These are instead loaded on-demand. Centralize these config options to a single scan, and store all of the values in a repo_settings struct. The values for each setting are initialized as negative to indicate "unset". This centralization will be particularly important in a later change to introduce "meta" config settings that change the defaults for these config settings. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
9c9b961d7e
commit
7211b9e753
25
repo-settings.c
Normal file
25
repo-settings.c
Normal file
@ -0,0 +1,25 @@
|
||||
#include "cache.h"
|
||||
#include "config.h"
|
||||
#include "repository.h"
|
||||
|
||||
void prepare_repo_settings(struct repository *r)
|
||||
{
|
||||
int value;
|
||||
|
||||
if (r->settings.initialized)
|
||||
return;
|
||||
|
||||
/* Defaults */
|
||||
memset(&r->settings, -1, sizeof(r->settings));
|
||||
|
||||
if (!repo_config_get_bool(r, "core.commitgraph", &value))
|
||||
r->settings.core_commit_graph = value;
|
||||
if (!repo_config_get_bool(r, "gc.writecommitgraph", &value))
|
||||
r->settings.gc_write_commit_graph = value;
|
||||
|
||||
if (!repo_config_get_bool(r, "index.version", &value))
|
||||
r->settings.index_version = value;
|
||||
|
||||
if (!repo_config_get_bool(r, "pack.usesparse", &value))
|
||||
r->settings.pack_use_sparse = value;
|
||||
}
|
Reference in New Issue
Block a user