Re: [PATCH v2 03/25] transport-helper.c: do not send null option to remote helper
From: Duy Nguyen <hidden>
Date: 2016-06-15 23:08:08
On Fri, Feb 5, 2016 at 6:22 AM, Junio C Hamano [off-list ref] wrote:
Nguyễn Thái Ngọc Duy [off-list ref] writes:quoted
Signed-off-by: Nguyễn Thái Ngọc Duy <redacted> ---This is even more strange. Are the current callers broken and some sends value==NULL for an option that is not is_bool, resulting in a call to quote_c_style() with NULL? I somehow find it hard to believe as that would lead to an immediate segfault. Assuming that no current caller passes NULL to value when is_bool is not in effect, there needs an explanation why future new callers may need to do so. An alternative for a valueless option could be to send "option name\n" instead of the usual "option name value\n", but without such an explanation, readers cannot tell why not sending anything about "name", which is what this patch chooses to implement, is a better idea.
The source is backfill_tags() which, in future, resets some transport options back to defaults. The current set_option() in there only deals with booleans or number (depth). But in future it resets deepen-since, which is a string. I think the main reason is, we do not have a way to reset (or unset) a transport option. Should I keep this commit and explain about this, or have a new transport API to reset option? -- Duy