Re: [PATCH v3 04/10] submodule--helper clone: check for configured submodules using helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Brandon Williams <bmwill@xxxxxxxxxx> writes:

> -	/*
> -	 * Looking up the url in .git/config.
> -	 * We must not fall back to .gitmodules as we only want
> -	 * to process configured submodules.
> -	 */
> -	strbuf_reset(&sb);
> -	strbuf_addf(&sb, "submodule.%s.url", sub->name);
> -	git_config_get_string(sb.buf, &url);
> -	if (!url) {
> +	/* Check if the submodule has been initialized. */
> +	if (!is_submodule_initialized(ce->name)) {
>  		next_submodule_warn_missing(suc, out, displaypath);
>  		goto cleanup;
>  	}
> @@ -835,7 +827,7 @@ static int prepare_to_clone_next_submodule(const struct cache_entry *ce,
>  		argv_array_push(&child->args, "--depth=1");
>  	argv_array_pushl(&child->args, "--path", sub->path, NULL);
>  	argv_array_pushl(&child->args, "--name", sub->name, NULL);
> -	argv_array_pushl(&child->args, "--url", url, NULL);
> +	argv_array_pushl(&child->args, "--url", sub->url, NULL);

Even without this patch, we already had an instance of struct submodule
available in this function, so the query to .git/config this patch removed
was unnecessary?

I am wondering what was meant by the comment "We must not fall back to..."
that is being removed---is that because sub->url can come from .gitmodules
that is in-tree, not from .git/config?  If that is the case, doesn't the
change in this hunk change behaviour from using the URL the user prefers
to using the URL the upstream suggests, overriding user's configuration?

> @@ -845,7 +837,6 @@ static int prepare_to_clone_next_submodule(const struct cache_entry *ce,
>  		argv_array_push(&child->args, suc->depth);
>  
>  cleanup:
> -	free(url);
>  	strbuf_reset(&displaypath_sb);
>  	strbuf_reset(&sb);



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]