Re: [PATCH v2] config: Use parseopt.

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

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.

.

Re: [PATCH v2] config: Use parseopt.

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:46:12

Hi,

On Sun, 15 Feb 2009, Junio C Hamano wrote:
Johannes Schindelin [off-list ref] writes:
quoted
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.
Ooops.  I missed that.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help