Re: [PATCH v2] config: Use parseopt.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:12
Johannes Schindelin [off-list ref] writes:
quoted
quoted
Or maybe even better: set a variable "ret" and at the end of cmd_config(), "return !!ret;"?Huh? So git commands don't return negative error values?AFAICT an exit status is supposed to be between 0 and 127.
Are you two talking about the return value from cmd_config()?
git.c::run_builtin() already knows what to do with status codes from the
builtins to protect you from (rare) shells that do not cope with a
negative return that come from the common pattern of doing:
return error("it is wrong in this way")
So "negative" is not really a problem.
Indeed, if the old code was doing:
ret = git_config_set_multivar(...);
if (ret)
return ret;
and if you are changing it to:
ret = git_config_set_multivar(...);
if (ret)
return !!ret;
you are changing an externally observable behaviour that _could_ break the
calling end user scripts.
.