config: pass ctx with config files
Pass config_context to config_callbacks when parsing config files. To provide the .kvi member, refactor out the configset logic that caches "struct config_source" and "enum config_scope" as a "struct key_value_info". Make the "enum config_scope" available to the config file machinery by plumbing an additional arg through git_config_from_file_with_options(). We do not exercise ctx yet because the remaining current_config_*() callers may be used with config_with_options(), which may read config from parameters, but parameters don't pass ctx yet. Signed-off-by: Glen Choo <chooglen@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
6021e1d158
commit
809d868061
8
config.h
8
config.h
@@ -169,16 +169,18 @@ int git_default_config(const char *, const char *,
|
||||
int git_config_from_file(config_fn_t fn, const char *, void *);
|
||||
|
||||
int git_config_from_file_with_options(config_fn_t fn, const char *,
|
||||
void *,
|
||||
void *, enum config_scope,
|
||||
const struct config_options *);
|
||||
int git_config_from_mem(config_fn_t fn,
|
||||
const enum config_origin_type,
|
||||
const char *name,
|
||||
const char *buf, size_t len,
|
||||
void *data, const struct config_options *opts);
|
||||
void *data, enum config_scope scope,
|
||||
const struct config_options *opts);
|
||||
int git_config_from_blob_oid(config_fn_t fn, const char *name,
|
||||
struct repository *repo,
|
||||
const struct object_id *oid, void *data);
|
||||
const struct object_id *oid, void *data,
|
||||
enum config_scope scope);
|
||||
void git_config_push_parameter(const char *text);
|
||||
void git_config_push_env(const char *spec);
|
||||
int git_config_from_parameters(config_fn_t fn, void *data);
|
||||
|
||||
Reference in New Issue
Block a user