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
@@ -606,7 +606,7 @@ static const struct submodule *config_from(struct submodule_cache *cache,
|
||||
parameter.gitmodules_oid = &oid;
|
||||
parameter.overwrite = 0;
|
||||
git_config_from_mem(parse_config, CONFIG_ORIGIN_SUBMODULE_BLOB, rev.buf,
|
||||
config, config_size, ¶meter, NULL);
|
||||
config, config_size, ¶meter, CONFIG_SCOPE_UNKNOWN, NULL);
|
||||
strbuf_release(&rev);
|
||||
free(config);
|
||||
|
||||
@@ -714,7 +714,8 @@ void gitmodules_config_oid(const struct object_id *commit_oid)
|
||||
|
||||
if (gitmodule_oid_from_commit(commit_oid, &oid, &rev)) {
|
||||
git_config_from_blob_oid(gitmodules_cb, rev.buf,
|
||||
the_repository, &oid, the_repository);
|
||||
the_repository, &oid, the_repository,
|
||||
CONFIG_SCOPE_UNKNOWN);
|
||||
}
|
||||
strbuf_release(&rev);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user