diff options
author | Matthew Rogers <mattr94@gmail.com> | 2020-02-10 00:30:58 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-02-10 18:49:12 (GMT) |
commit | 9a83d088ee00dcdab171b2020ab334e369437a33 (patch) | |
tree | 8b21354f71400dc4fca02ff91bd76210b3c91b02 | |
parent | e37efa40e122c4408c89c437e8a375df2147feac (diff) | |
download | git-9a83d088ee00dcdab171b2020ab334e369437a33.zip git-9a83d088ee00dcdab171b2020ab334e369437a33.tar.gz git-9a83d088ee00dcdab171b2020ab334e369437a33.tar.bz2 |
submodule-config: add subomdule config scope
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>
-rw-r--r-- | config.c | 2 | ||||
-rw-r--r-- | config.h | 1 | ||||
-rw-r--r-- | submodule-config.c | 4 |
3 files changed, 6 insertions, 1 deletions
@@ -3311,6 +3311,8 @@ const char *config_scope_name(enum config_scope scope) return "worktree"; case CONFIG_SCOPE_COMMAND: return "command"; + case CONFIG_SCOPE_SUBMODULE: + return "submodule"; default: return "unknown"; } @@ -42,6 +42,7 @@ enum config_scope { CONFIG_SCOPE_LOCAL, CONFIG_SCOPE_WORKTREE, CONFIG_SCOPE_COMMAND, + CONFIG_SCOPE_SUBMODULE, }; const char *config_scope_name(enum config_scope scope); diff --git a/submodule-config.c b/submodule-config.c index 8506481..b8e97d8 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -635,7 +635,9 @@ static void submodule_cache_check_init(struct repository *repo) 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; |