Re: [PATCH v3 2/4] config: refine config scope enum
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 17, 2020, 20:44 UTC
- Message-ID
- <xmqq1rrxertd.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <f06f9291b7c357422abad9f9cdd7425ef9e22509.1579275102.git.gitgitgadget@gmail.com>
"Matthew Rogers via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 13 quoted lines
> diff --git a/config.h b/config.h
> index 91fd4c5e96..284d92fb0e 100644
> --- a/config.h
> +++ b/config.h
> @@ -298,7 +298,8 @@ enum config_scope {
> CONFIG_SCOPE_UNKNOWN = 0,
> CONFIG_SCOPE_SYSTEM,
> CONFIG_SCOPE_GLOBAL,
> - CONFIG_SCOPE_REPO,
> + CONFIG_SCOPE_LOCAL,
> + CONFIG_SCOPE_WORKTREE,
> CONFIG_SCOPE_CMDLINE,
> };So the gist of the change is to split REPO into two, LOCAL and WORKTREE.
If we can find a way to state that concisely, perhaps we can improve "refine enum" and make it more informative.
Show 26 quoted lines
> diff --git a/t/helper/test-config.c b/t/helper/test-config.c > index 214003d5b2..6695e463eb 100644 > --- a/t/helper/test-config.c > +++ b/t/helper/test-config.c > @@ -44,8 +44,10 @@ static const char *scope_name(enum config_scope scope) > return "system"; > case CONFIG_SCOPE_GLOBAL: > return "global"; > - case CONFIG_SCOPE_REPO: > + case CONFIG_SCOPE_LOCAL: > return "repo"; > + case CONFIG_SCOPE_WORKTREE: > + return "worktree"; > case CONFIG_SCOPE_CMDLINE: > return "cmdline"; > default: > diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh > index 7b4e1a63eb..535b2a73f7 100755 > --- a/t/t1308-config-set.sh > +++ b/t/t1308-config-set.sh > @@ -265,7 +265,7 @@ test_expect_success 'iteration shows correct origins' ' > value=from-cmdline > origin=command line > name= > - scope=cmdline > + scope=command
Why???
Show 17 quoted lines
> EOF
> GIT_CONFIG_PARAMETERS=$cmdline_config test-tool config iterate >actual &&
> test_cmp expect actual
> diff --git a/upload-pack.c b/upload-pack.c
> index a00d7ece6b..c53249cac1 100644
> --- a/upload-pack.c
> +++ b/upload-pack.c
> @@ -1073,7 +1073,8 @@ static int upload_pack_config(const char *var, const char *value, void *unused)
> precomposed_unicode = git_config_bool(var, value);
> }
>
> - if (current_config_scope() != CONFIG_SCOPE_REPO) {
> + if (current_config_scope() != CONFIG_SCOPE_LOCAL &&
> + current_config_scope() != CONFIG_SCOPE_WORKTREE) {
> if (!strcmp("uploadpack.packobjectshook", var))
> return git_config_string(&pack_objects_hook, var, value);
> }