Re: [PATCH v4 3/3] config: add '--show-origin' option to print the origin of a config value
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Feb 15, 2016, 20:58 UTC
- Message-ID
- <CAPig+cS=TtVGTxo0oHny4GpAAaej93T2kP93upfHtPMkAd7V0g@mail.gmail.com>
- In-Reply-To
- <1455531466-16617-4-git-send-email-larsxschneider@gmail.com>
On Mon, Feb 15, 2016 at 5:17 AM, <larsxschneider@gmail.com> wrote:
Show 14 quoted lines
> 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 <peff@peff.net> > Signed-off-by: Lars Schneider <larsxschneider@gmail.com> > --- > 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.
> 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.
Show 5 quoted lines
> 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(),
> };