> This is good: > > $ ./git --exec-path=$PWD show --color-moved=crap > fatal: bad --color-moved argument: crap > > This is bad: > > $ ./git --exec-path=$PWD -c diff.colorMoved=crap show > fatal: unable to parse 'diff.colormoved' from command-line config > > Fixed with: > > diff --git a/diff.c b/diff.c > index 7cae4f1ddb..036dbc1c3c 100644 > --- a/diff.c > +++ b/diff.c > @@ -278,7 +278,7 @@ int git_diff_ui_config(const char *var, const char *value, void *cb) > if (!strcmp(var, "diff.colormoved")) { > int cm = parse_color_moved(value); > if (cm < 0) > - return -1; > + die("bad --color-moved argument: %s", value); > diff_color_moved_default = cm; > return 0; > } > > But I'm not familiar enough with the code to say if just dying here, as > opposed to returning -1 is OK or not. I think this one is 'not good', as it (a) does not help the user a lot and (b) is not consistent with the rest around in that function, for example $ git -c diff.interhunkcontext=-2 diff fatal: unable to parse 'diff.interhunkcontext' from command-line config So instead of return -1, we could issue an additional warning, but this could be a generic warning?