Browse Source
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>maint
Derrick Stolee
6 years ago
committed by
Junio C Hamano
7 changed files with 58 additions and 19 deletions
@ -0,0 +1,25 @@
@@ -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; |
||||
} |
Loading…
Reference in new issue