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:
Junio C Hamano
2023-07-06 11:54:48 -07:00
103 changed files with 960 additions and 632 deletions

View File

@ -624,7 +624,8 @@ static void parse_branch_merge_options(char *bmo)
free(argv);
}
static int git_merge_config(const char *k, const char *v, void *cb)
static int git_merge_config(const char *k, const char *v,
const struct config_context *ctx, void *cb)
{
int status;
const char *str;
@ -669,10 +670,10 @@ static int git_merge_config(const char *k, const char *v, void *cb)
return 0;
}
status = fmt_merge_msg_config(k, v, cb);
status = fmt_merge_msg_config(k, v, ctx, cb);
if (status)
return status;
return git_diff_ui_config(k, v, cb);
return git_diff_ui_config(k, v, ctx, cb);
}
static int read_tree_trivial(struct object_id *common, struct object_id *head,