config: clarify meaning of command line scoping

CONFIG_SCOPE_CMDLINE is generally used in the code to refer to config
values passed in via the -c option.  Options passed in using this
mechanism share similar scoping characteristics with the --file and
--blob options of the 'config' command, namely that they are only in use
for that single invocation of git, and that they supersede the normal
system/global/local hierarchy.  This patch introduces
CONFIG_SCOPE_COMMAND to reflect this new idea, which also makes
CONFIG_SCOPE_CMDLINE redundant.

Signed-off-by: Matthew Rogers <mattr94@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Matthew Rogers 2020-02-10 00:30:55 +00:00 коммит произвёл Junio C Hamano
Родитель 6dc905d974
Коммит 6766e41b8a
3 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -1737,7 +1737,7 @@ static int do_git_config_sequence(const struct config_options *opts,
free(path); free(path);
} }
current_parsing_scope = CONFIG_SCOPE_CMDLINE; current_parsing_scope = CONFIG_SCOPE_COMMAND;
if (!opts->ignore_cmdline && git_config_from_parameters(fn, data) < 0) if (!opts->ignore_cmdline && git_config_from_parameters(fn, data) < 0)
die(_("unable to parse command-line config")); die(_("unable to parse command-line config"));
@ -3305,8 +3305,8 @@ const char *config_scope_name(enum config_scope scope)
return "local"; return "local";
case CONFIG_SCOPE_WORKTREE: case CONFIG_SCOPE_WORKTREE:
return "worktree"; return "worktree";
case CONFIG_SCOPE_CMDLINE: case CONFIG_SCOPE_COMMAND:
return "cmdline"; return "command";
default: default:
return "unknown"; return "unknown";
} }

Просмотреть файл

@ -300,7 +300,7 @@ enum config_scope {
CONFIG_SCOPE_GLOBAL, CONFIG_SCOPE_GLOBAL,
CONFIG_SCOPE_LOCAL, CONFIG_SCOPE_LOCAL,
CONFIG_SCOPE_WORKTREE, CONFIG_SCOPE_WORKTREE,
CONFIG_SCOPE_CMDLINE, CONFIG_SCOPE_COMMAND,
}; };
const char *config_scope_name(enum config_scope scope); const char *config_scope_name(enum config_scope scope);

Просмотреть файл

@ -265,7 +265,7 @@ test_expect_success 'iteration shows correct origins' '
value=from-cmdline value=from-cmdline
origin=command line origin=command line
name= name=
scope=cmdline scope=command
EOF EOF
GIT_CONFIG_PARAMETERS=$cmdline_config test-tool config iterate >actual && GIT_CONFIG_PARAMETERS=$cmdline_config test-tool config iterate >actual &&
test_cmp expect actual test_cmp expect actual