From: Emily Shaffer <emilyshaffer@google.com>
To: git@vger.kernel.org
Cc: Emily Shaffer <emilyshaffer@google.com>,
Matthew Rogers <mattr94@gmail.com>,
Philip Oakley <philipoakley@iee.email>
Subject: [PATCH v2] config: add string mapping for enum config_scope
Date: Wed, 11 Dec 2019 15:38:20 -0800 [thread overview]
Message-ID: <20191211233820.185153-1-emilyshaffer@google.com> (raw)
If a user is interacting with their config files primarily by the 'git
config' command, using the location flags (--global, --system, etc) then
they may be more interested to see the scope of the config file they are
editing, rather than the filepath.
Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
---
Since v1, the only change is removing locale markers around the strings
returned from the helper.
As mentioned in lore.kernel.org/git/20191211232540.GE8464@google.com I'm
still not sure whether it's better to return "local" for
CONFIG_SCOPE_REPO. Since that's the scope returned for both local and
worktree (.git/config, .git/config.worktree) configs, I'm happy to leave
it the way it is to indicate "one of the configs in the repo".
- Emily
config.c | 17 +++++++++++++++++
config.h | 1 +
2 files changed, 18 insertions(+)
diff --git a/config.c b/config.c
index e7052b3977..baab4a916e 100644
--- a/config.c
+++ b/config.c
@@ -3312,6 +3312,23 @@ enum config_scope current_config_scope(void)
return current_parsing_scope;
}
+const char *config_scope_to_string(enum config_scope scope)
+{
+ switch (scope) {
+ case CONFIG_SCOPE_SYSTEM:
+ return "system";
+ case CONFIG_SCOPE_GLOBAL:
+ return "global";
+ case CONFIG_SCOPE_REPO:
+ return "repo";
+ case CONFIG_SCOPE_CMDLINE:
+ return "cmdline";
+ case CONFIG_SCOPE_UNKNOWN:
+ default:
+ return "unknown";
+ }
+}
+
int lookup_config(const char **mapping, int nr_mapping, const char *var)
{
int i;
diff --git a/config.h b/config.h
index 91fd4c5e96..c8bf296dcc 100644
--- a/config.h
+++ b/config.h
@@ -303,6 +303,7 @@ enum config_scope {
};
enum config_scope current_config_scope(void);
+const char *config_scope_to_string(enum config_scope);
const char *current_config_origin_type(void);
const char *current_config_name(void);
--
2.24.0.525.g8f36a354ae-goog
next reply other threads:[~2019-12-11 23:38 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-11 23:38 Emily Shaffer [this message]
2019-12-11 23:52 ` [PATCH v2] config: add string mapping for enum config_scope Matt Rogers
2019-12-12 3:10 ` Jeff King
2019-12-12 3:40 ` mattr94
2019-12-12 3:49 ` Jeff King
2019-12-12 3:45 ` Emily Shaffer
2019-12-12 3:55 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191211233820.185153-1-emilyshaffer@google.com \
--to=emilyshaffer@google.com \
--cc=git@vger.kernel.org \
--cc=mattr94@gmail.com \
--cc=philipoakley@iee.email \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.