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>