On Tue, Jul 11, 2017 at 12:05:01PM -0700, Stefan Beller wrote: > > diff --git a/builtin/help.c b/builtin/help.c > > index 334a8494a..c42dfc9e9 100644 > > --- a/builtin/help.c > > +++ b/builtin/help.c > > @@ -273,7 +273,7 @@ static int git_help_config(const char *var, const char *value, void *cb) > > if (starts_with(var, "man.")) > > return add_man_viewer_info(var, value); > > > > - return git_default_config(var, value, cb); > > + return 0; > > Instead of ignoring any default config, we could do > > git_default_config(var, value, cb); > /* ignore broken config, we may be the help call for config */ > return 0; > > I looked through git_default_config which seems to only die > with useful error messages for compression related settings, > but these we may want to convert to errors instead of dies, > when going this way. There are other die calls hidden deeper. For instance: $ git -c core.ignorecase=foo help config fatal: bad numeric config value 'foo' for 'core.ignorecase': invalid unit Those ones are hard to fix without changing the call signature of git_config_bool(). -Peff