scalar: move config setting logic into its own function
Create function 'set_scalar_config()' to contain the logic used in setting Scalar-defined Git config settings, including how to handle reconfiguring & overwriting existing values. This function allows future patches to set config values in parts of 'scalar.c' other than 'set_recommended_config()'. Signed-off-by: Victoria Dye <vdye@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
9b24bb9205
commit
d934a11c71
|
@ -85,13 +85,33 @@ static int run_git(const char *arg, ...)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct scalar_config {
|
||||||
|
const char *key;
|
||||||
|
const char *value;
|
||||||
|
int overwrite_on_reconfigure;
|
||||||
|
};
|
||||||
|
|
||||||
|
static int set_scalar_config(const struct scalar_config *config, int reconfigure)
|
||||||
|
{
|
||||||
|
char *value = NULL;
|
||||||
|
int res;
|
||||||
|
|
||||||
|
if ((reconfigure && config->overwrite_on_reconfigure) ||
|
||||||
|
git_config_get_string(config->key, &value)) {
|
||||||
|
trace2_data_string("scalar", the_repository, config->key, "created");
|
||||||
|
res = git_config_set_gently(config->key, config->value);
|
||||||
|
} else {
|
||||||
|
trace2_data_string("scalar", the_repository, config->key, "exists");
|
||||||
|
res = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
free(value);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
static int set_recommended_config(int reconfigure)
|
static int set_recommended_config(int reconfigure)
|
||||||
{
|
{
|
||||||
struct {
|
struct scalar_config config[] = {
|
||||||
const char *key;
|
|
||||||
const char *value;
|
|
||||||
int overwrite_on_reconfigure;
|
|
||||||
} config[] = {
|
|
||||||
/* Required */
|
/* Required */
|
||||||
{ "am.keepCR", "true", 1 },
|
{ "am.keepCR", "true", 1 },
|
||||||
{ "core.FSCache", "true", 1 },
|
{ "core.FSCache", "true", 1 },
|
||||||
|
@ -145,17 +165,9 @@ static int set_recommended_config(int reconfigure)
|
||||||
char *value;
|
char *value;
|
||||||
|
|
||||||
for (i = 0; config[i].key; i++) {
|
for (i = 0; config[i].key; i++) {
|
||||||
if ((reconfigure && config[i].overwrite_on_reconfigure) ||
|
if (set_scalar_config(config + i, reconfigure))
|
||||||
git_config_get_string(config[i].key, &value)) {
|
return error(_("could not configure %s=%s"),
|
||||||
trace2_data_string("scalar", the_repository, config[i].key, "created");
|
config[i].key, config[i].value);
|
||||||
if (git_config_set_gently(config[i].key,
|
|
||||||
config[i].value) < 0)
|
|
||||||
return error(_("could not configure %s=%s"),
|
|
||||||
config[i].key, config[i].value);
|
|
||||||
} else {
|
|
||||||
trace2_data_string("scalar", the_repository, config[i].key, "exists");
|
|
||||||
free(value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue