Subject: Re: [PATCH v2 1/3] config: prepare to pass more info in git_config_with_options()

From: Junio C Hamano <[email-masked]>
Date: Mon, 17 Apr 2017 19:27:16 -0700

Nguyễn Thái Ngọc Duy  <[email-masked]> writes:

> So far we can only pass one flag, respect_includes, to thie function. We

s/thie/this/

> need to pass some more (non-flag even), so let's make it accept a struct
> instead of an integer.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <[email-masked]>
> ---
>  builtin/config.c | 21 ++++++++++++---------
>  cache.h          |  7 ++++++-
>  config.c         | 16 +++++++++++-----
>  3 files changed, 29 insertions(+), 15 deletions(-)
>
> diff --git a/builtin/config.c b/builtin/config.c
> index 4f49a0edb9..b937d175a9 100644
> --- a/builtin/config.c
> +++ b/builtin/config.c
> @@ -26,7 +26,8 @@ static int use_global_config, use_system_config, use_local_config;
>  static struct git_config_source given_config_source;
>  static int actions, types;
>  static int end_null;
> -static int respect_includes = -1;
> +static int respect_includes_opt = -1;
> +static struct config_options config_options;
>  static int show_origin;
>  
>  #define ACTION_GET (1<<0)
> @@ -81,7 +82,7 @@ static struct option builtin_config_options[] = {
>  	OPT_GROUP(N_("Other")),
>  	OPT_BOOL('z', "null", &end_null, N_("terminate values with NUL byte")),
>  	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, "includes", &respect_includes_opt, N_("respect include directives on lookup")),

It would be more in line with what the log message advertised if you
did

	static struct config_options config_options = {
		-1, /* .respect_includes: unspecified */
	};

	OPT_BOOL(0, "includes", &config_options.respect_includes, N_("...")),

no?