Re: [PATCH v4 3/3] config: add '--show-origin' option to print the origin of a config value
flat view
From: Eric Sunshine <hidden>
Date: 2016-06-15 23:08:14
On Mon, Feb 15, 2016 at 5:17 AM, [off-list ref] wrote:
quoted hunk ↗ jump to hunk
If config values are queried using 'git config' (e.g. via --get, --get-all, --get-regexp, or --list flag) then it is sometimes hard to find the configuration file where the values were defined. Teach 'git config' the '--show-origin' option to print the source configuration file for every printed value. Based-on-patch-by: Jeff King [off-list ref] Signed-off-by: Lars Schneider <redacted> ---diff --git a/builtin/config.c b/builtin/config.c@@ -27,6 +28,7 @@ static int actions, types; static const char *get_color_slot, *get_colorbool_slot; static int end_null;
Not related to your changes, but I just realized that this variable really ought to be named 'end_nul' since we're talking about the character NUL, not a NULL pointer.
quoted hunk ↗ jump to hunk
static int respect_includes = -1; +static int show_origin;@@ -81,6 +83,7 @@ static struct option builtin_config_options[] = { OPT_BOOL('z', "null", &end_null, N_("terminate values with NUL byte")),
Likewise, the long option name should be --nul rather than --null, or the long name could be dropped altogether since some other commands just recognize short option -z. There is no need for this patch series to address this anomaly; it's perhaps low-hanging fruit for someone wanting to join the project. The only very minor wrinkle is that we'd still need to recognize --null as a deprecated (and undocumented) alias for --nul.
quoted hunk ↗ jump to hunk
OPT_BOOL(0, "name-only", &omit_values, N_("show variable names only")), OPT_BOOL(0, "includes", &respect_includes, N_("respect include directives on lookup")), + OPT_BOOL(0, "show-origin", &show_origin, N_("show origin of config (file, stdin, blob, cmdline)")), OPT_END(), };