Merge branch 'gc/config-context'
Reduce reliance on a global state in the config reading API. * gc/config-context: config: pass source to config_parser_event_fn_t config: add kvi.path, use it to evaluate includes config.c: remove config_reader from configsets config: pass kvi to die_bad_number() trace2: plumb config kvi config.c: pass ctx with CLI config config: pass ctx with config files config.c: pass ctx in configsets config: add ctx arg to config_fn_t urlmatch.h: use config_fn_t type config: inline git_color_default_config
This commit is contained in:
29
sequencer.c
29
sequencer.c
@ -222,7 +222,8 @@ static struct update_ref_record *init_update_ref_record(const char *ref)
|
||||
return rec;
|
||||
}
|
||||
|
||||
static int git_sequencer_config(const char *k, const char *v, void *cb)
|
||||
static int git_sequencer_config(const char *k, const char *v,
|
||||
const struct config_context *ctx, void *cb)
|
||||
{
|
||||
struct replay_opts *opts = cb;
|
||||
int status;
|
||||
@ -277,7 +278,7 @@ static int git_sequencer_config(const char *k, const char *v, void *cb)
|
||||
if (opts->action == REPLAY_REVERT && !strcmp(k, "revert.reference"))
|
||||
opts->commit_use_reference = git_config_bool(k, v);
|
||||
|
||||
return git_diff_basic_config(k, v, NULL);
|
||||
return git_diff_basic_config(k, v, ctx, NULL);
|
||||
}
|
||||
|
||||
void sequencer_init_config(struct replay_opts *opts)
|
||||
@ -2890,7 +2891,9 @@ static int git_config_string_dup(char **dest,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int populate_opts_cb(const char *key, const char *value, void *data)
|
||||
static int populate_opts_cb(const char *key, const char *value,
|
||||
const struct config_context *ctx,
|
||||
void *data)
|
||||
{
|
||||
struct replay_opts *opts = data;
|
||||
int error_flag = 1;
|
||||
@ -2898,26 +2901,26 @@ static int populate_opts_cb(const char *key, const char *value, void *data)
|
||||
if (!value)
|
||||
error_flag = 0;
|
||||
else if (!strcmp(key, "options.no-commit"))
|
||||
opts->no_commit = git_config_bool_or_int(key, value, &error_flag);
|
||||
opts->no_commit = git_config_bool_or_int(key, value, ctx->kvi, &error_flag);
|
||||
else if (!strcmp(key, "options.edit"))
|
||||
opts->edit = git_config_bool_or_int(key, value, &error_flag);
|
||||
opts->edit = git_config_bool_or_int(key, value, ctx->kvi, &error_flag);
|
||||
else if (!strcmp(key, "options.allow-empty"))
|
||||
opts->allow_empty =
|
||||
git_config_bool_or_int(key, value, &error_flag);
|
||||
git_config_bool_or_int(key, value, ctx->kvi, &error_flag);
|
||||
else if (!strcmp(key, "options.allow-empty-message"))
|
||||
opts->allow_empty_message =
|
||||
git_config_bool_or_int(key, value, &error_flag);
|
||||
git_config_bool_or_int(key, value, ctx->kvi, &error_flag);
|
||||
else if (!strcmp(key, "options.keep-redundant-commits"))
|
||||
opts->keep_redundant_commits =
|
||||
git_config_bool_or_int(key, value, &error_flag);
|
||||
git_config_bool_or_int(key, value, ctx->kvi, &error_flag);
|
||||
else if (!strcmp(key, "options.signoff"))
|
||||
opts->signoff = git_config_bool_or_int(key, value, &error_flag);
|
||||
opts->signoff = git_config_bool_or_int(key, value, ctx->kvi, &error_flag);
|
||||
else if (!strcmp(key, "options.record-origin"))
|
||||
opts->record_origin = git_config_bool_or_int(key, value, &error_flag);
|
||||
opts->record_origin = git_config_bool_or_int(key, value, ctx->kvi, &error_flag);
|
||||
else if (!strcmp(key, "options.allow-ff"))
|
||||
opts->allow_ff = git_config_bool_or_int(key, value, &error_flag);
|
||||
opts->allow_ff = git_config_bool_or_int(key, value, ctx->kvi, &error_flag);
|
||||
else if (!strcmp(key, "options.mainline"))
|
||||
opts->mainline = git_config_int(key, value);
|
||||
opts->mainline = git_config_int(key, value, ctx->kvi);
|
||||
else if (!strcmp(key, "options.strategy"))
|
||||
git_config_string_dup(&opts->strategy, key, value);
|
||||
else if (!strcmp(key, "options.gpg-sign"))
|
||||
@ -2926,7 +2929,7 @@ static int populate_opts_cb(const char *key, const char *value, void *data)
|
||||
strvec_push(&opts->xopts, value);
|
||||
} else if (!strcmp(key, "options.allow-rerere-auto"))
|
||||
opts->allow_rerere_auto =
|
||||
git_config_bool_or_int(key, value, &error_flag) ?
|
||||
git_config_bool_or_int(key, value, ctx->kvi, &error_flag) ?
|
||||
RERERE_AUTOUPDATE : RERERE_NOAUTOUPDATE;
|
||||
else if (!strcmp(key, "options.default-msg-cleanup")) {
|
||||
opts->explicit_cleanup = 1;
|
||||
|
Reference in New Issue
Block a user