Web lists-archives.com

Re: [PATCH] config: complain about --local outside of a git repo




Jeff King wrote:

> Subject: [PATCH] config: complain about --local outside of a git repo
>
> The "--local" option instructs git-config to read or modify
> the repository-level config. This doesn't make any sense if
> you're not actually in a repository.
>
> Older versions of Git would blindly try to read or write
> ".git/config". For reading, this would result in a quiet
> failure, since there was no config to read (and thus no
> matching config value). Writing would generally fail
> noisily, since ".git" was unlikely to exist. But since
> b1ef400ee (setup_git_env: avoid blind fall-back to ".git",
> 2016-10-20), we catch this in the call to git_pathdup() and
> die("BUG").
>
> Dying is the right thing to do, but we should catch the
> problem early and give a more human-friendly error message.
>
> Note that even without --local, git-config will sometimes
> default to using local repository config. These cases are
> already protected by a similar check.
>
> Signed-off-by: Jeff King <peff@xxxxxxxx>
> ---
>  builtin/config.c | 3 +++
>  1 file changed, 3 insertions(+)

Makes sense.

> diff --git a/builtin/config.c b/builtin/config.c
> index 3a554ad50..ad7c6a19c 100644
> --- a/builtin/config.c
> +++ b/builtin/config.c
> @@ -496,6 +496,9 @@ int cmd_config(int argc, const char **argv, const char *prefix)
>  		usage_with_options(builtin_config_usage, builtin_config_options);
>  	}
> 
> +	if (use_local_config && nongit)
> +		die(_("--local only be used inside a git repository"));
> +

The output would be

	fatal: --local only be used inside a git repository

Is that missing a "should" before "only"?

With that change,
Reviewed-by: Jonathan Nieder <jrnieder@xxxxxxxxx>