Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Rogers <mattr94@gmail.com>2020-02-10 03:30:57 +0300
committerJunio C Hamano <gitster@pobox.com>2020-02-10 21:49:10 +0300
commite37efa40e122c4408c89c437e8a375df2147feac (patch)
tree027006df788dfefee7b2fcd28846728ae37e7613 /config.h
parent5c105a842eae59a3271f5db861ef8d85de6bc2f8 (diff)
config: teach git_config_source to remember its scope
There are many situations where the scope of a config command is known beforehand, such as passing of '--local', '--file', etc. to an invocation of git config. However, this information is lost when moving from builtin/config.c to /config.c. This historically hasn't been a big deal, but to prepare for the upcoming --show-scope option we teach git_config_source to keep track of the source and the config machinery to use that information to set current_parsing_scope appropriately. Signed-off-by: Matthew Rogers <mattr94@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.h')
-rw-r--r--config.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/config.h b/config.h
index 397ba4063c..165cacb7da 100644
--- a/config.h
+++ b/config.h
@@ -35,10 +35,21 @@ struct object_id;
#define CONFIG_REGEX_NONE ((void *)1)
+enum config_scope {
+ CONFIG_SCOPE_UNKNOWN = 0,
+ CONFIG_SCOPE_SYSTEM,
+ CONFIG_SCOPE_GLOBAL,
+ CONFIG_SCOPE_LOCAL,
+ CONFIG_SCOPE_WORKTREE,
+ CONFIG_SCOPE_COMMAND,
+};
+const char *config_scope_name(enum config_scope scope);
+
struct git_config_source {
unsigned int use_stdin:1;
const char *file;
const char *blob;
+ enum config_scope scope;
};
enum config_origin_type {
@@ -294,16 +305,6 @@ int config_error_nonbool(const char *);
int git_config_parse_parameter(const char *, config_fn_t fn, void *data);
-enum config_scope {
- CONFIG_SCOPE_UNKNOWN = 0,
- CONFIG_SCOPE_SYSTEM,
- CONFIG_SCOPE_GLOBAL,
- CONFIG_SCOPE_LOCAL,
- CONFIG_SCOPE_WORKTREE,
- CONFIG_SCOPE_COMMAND,
-};
-const char *config_scope_name(enum config_scope scope);
-
enum config_scope current_config_scope(void);
const char *current_config_origin_type(void);
const char *current_config_name(void);