#include "cache.h" #include "config.h" #include "repository.h" #define UPDATE_DEFAULT_BOOL(s,v) do { if (s == -1) { s = v; } } while(0) 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; UPDATE_DEFAULT_BOOL(r->settings.core_commit_graph, 1); UPDATE_DEFAULT_BOOL(r->settings.gc_write_commit_graph, 1); 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; }