diff options
author | Glen Choo <chooglen@google.com> | 2023-06-28 22:26:24 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-06-29 00:06:39 +0300 |
commit | 809d868061c5e55e9b3bd59a4118628318eb46e9 (patch) | |
tree | 3f87f874677594a0fd3393b76f88875f058682d7 /config.h | |
parent | 6021e1d1580169532512772afbb86996f717f4ae (diff) |
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>
Diffstat (limited to 'config.h')
-rw-r--r-- | config.h | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -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); |