Subject: Re: [PATCH v5 3/3] git: submodule honor -c credential.* from command line

From: Junio C Hamano <[email-masked]>
Date: Mon, 29 Feb 2016 10:20:54 -0800

Jacob Keller <[email-masked]> writes:

> +static int sanitize_submodule_config(const char *var, const char *value, void *data)
> +{
> +	struct strbuf quoted = STRBUF_INIT;
> +	struct strbuf *out = data;
> +
> +	if (submodule_config_ok(var)) {
> +		if (out->len)
> +			strbuf_addch(out, ' ');
> +
> +		sq_quotef(out, "%s=%s", var, value);

Can a configuration variable that comes from the original command
line be a boolean true that is spelled without "=true", i.e. can
value be NULL here?

> +	}
> +
> +	strbuf_release(&quoted);
> +
> +	return 0;
> +}
> +
> +static void prepare_submodule_repo_env(struct argv_array *out)
> +{
> +	const char * const *var;
> +
> +	for (var = local_repo_env; *var; var++) {
> +		if (!strcmp(*var, CONFIG_DATA_ENVIRONMENT)) {
> +			struct strbuf sanitized_config = STRBUF_INIT;
> +			git_config_from_parameters(sanitize_submodule_config,
> +						   &sanitized_config);
> +			argv_array_pushf(out, "%s=%s", *var, sanitized_config.buf);
> +			strbuf_release(&sanitized_config);