Re: [PATCH v2] config: Use parseopt.
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 15, 2009, 19:31 UTC
- Message-ID
- <7v1vtzmr9j.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <alpine.DEB.1.00.0902142328530.10279@pacific.mpi-cbg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 6 quoted lines
>> > 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.
.