Before the changes to teach git_config_source to remember scope
information submodule-config.c never needed to consider the question of
config scope. Even though zeroing out git_config_source is still
correct and preserved the previous behavior of setting the scope to
CONFIG_SCOPE_UNKNOWN, it's better to be explicit about such situations
by explicitly setting the scope. As none of the current config_scope
enumerations make sense we create CONFIG_SCOPE_SUBMODULE to describe the
situation.
Signed-off-by: Matthew Rogers <mattr94@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
return "worktree";
case CONFIG_SCOPE_COMMAND:
return "command";
+ case CONFIG_SCOPE_SUBMODULE:
+ return "submodule";
default:
return "unknown";
}
CONFIG_SCOPE_LOCAL,
CONFIG_SCOPE_WORKTREE,
CONFIG_SCOPE_COMMAND,
+ CONFIG_SCOPE_SUBMODULE,
};
const char *config_scope_name(enum config_scope scope);
static void config_from_gitmodules(config_fn_t fn, struct repository *repo, void *data)
{
if (repo->worktree) {
- struct git_config_source config_source = { 0 };
+ struct git_config_source config_source = {
+ 0, .scope = CONFIG_SCOPE_SUBMODULE
+ };
const struct config_options opts = { 0 };
struct object_id oid;
char *file;