Re: [PATCH v7 09/10] submodule-config: add subomdule config scope
"Matthew Rogers via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 13 quoted lines
> From: Matthew Rogers <mattr94@gmail.com>
>
> 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>
> ---
Other than a typo on the title, I think this one is perfect ;-)
Will queue.
Show 45 quoted lines
> config.c | 2 ++
> config.h | 1 +
> submodule-config.c | 4 +++-
> 3 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/config.c b/config.c
> index 9b6afca210..18a6bdd9ff 100644
> --- a/config.c
> +++ b/config.c
> @@ -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";
> }
> diff --git a/config.h b/config.h
> index 165cacb7da..fe0addb0dc 100644
> --- a/config.h
> +++ b/config.h
> @@ -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 85064810b2..b8e97d8ae8 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;