Merge branch 'gc/config-context' into next
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:
19
diff.c
19
diff.c
@ -358,7 +358,8 @@ static unsigned parse_color_moved_ws(const char *arg)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int git_diff_ui_config(const char *var, const char *value, void *cb)
|
||||
int git_diff_ui_config(const char *var, const char *value,
|
||||
const struct config_context *ctx, void *cb)
|
||||
{
|
||||
if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) {
|
||||
diff_use_color_default = git_config_colorbool(var, value);
|
||||
@ -379,13 +380,14 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(var, "diff.context")) {
|
||||
diff_context_default = git_config_int(var, value);
|
||||
diff_context_default = git_config_int(var, value, ctx->kvi);
|
||||
if (diff_context_default < 0)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(var, "diff.interhunkcontext")) {
|
||||
diff_interhunk_context_default = git_config_int(var, value);
|
||||
diff_interhunk_context_default = git_config_int(var, value,
|
||||
ctx->kvi);
|
||||
if (diff_interhunk_context_default < 0)
|
||||
return -1;
|
||||
return 0;
|
||||
@ -411,7 +413,7 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(var, "diff.statgraphwidth")) {
|
||||
diff_stat_graph_width = git_config_int(var, value);
|
||||
diff_stat_graph_width = git_config_int(var, value, ctx->kvi);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(var, "diff.external"))
|
||||
@ -441,15 +443,16 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
|
||||
if (git_color_config(var, value, cb) < 0)
|
||||
return -1;
|
||||
|
||||
return git_diff_basic_config(var, value, cb);
|
||||
return git_diff_basic_config(var, value, ctx, cb);
|
||||
}
|
||||
|
||||
int git_diff_basic_config(const char *var, const char *value, void *cb)
|
||||
int git_diff_basic_config(const char *var, const char *value,
|
||||
const struct config_context *ctx, void *cb)
|
||||
{
|
||||
const char *name;
|
||||
|
||||
if (!strcmp(var, "diff.renamelimit")) {
|
||||
diff_rename_limit_default = git_config_int(var, value);
|
||||
diff_rename_limit_default = git_config_int(var, value, ctx->kvi);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -496,7 +499,7 @@ int git_diff_basic_config(const char *var, const char *value, void *cb)
|
||||
if (git_diff_heuristic_config(var, value, cb) < 0)
|
||||
return -1;
|
||||
|
||||
return git_default_config(var, value, cb);
|
||||
return git_default_config(var, value, ctx, cb);
|
||||
}
|
||||
|
||||
static char *quote_two(const char *one, const char *two)
|
||||
|
Reference in New Issue
Block a user