Re: [PATCH v2] Fix remote.<remote>.vcs
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 27, 2010, 19:13 UTC
- Message-ID
- <7vaavzqs2q.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <alpine.LNX.2.00.1001271335140.14365@iabervon.org>
Daniel Barkalow <barkalow@iabervon.org> writes:
> Except that you missed the "remote == NULL" case (noted below), this is > what I was thinking of. > > Acked-by: Daniel Barkalow <barkalow@iabervon.org>
Show 8 quoted lines
>> if (!remote)
>> die("No remote provided to transport_get()");
>>
>> ret->remote = remote;
>> + helper = remote->foreign_vcs;
>
> Needs to be "helper = remote ? remote->foreign_vcs : NULL", for the same
> reason that the test below had been "remote && remote->foreign_vcs".Even in the presense of "if remote is NULL then we die" in the context above?
Show 30 quoted lines
>>
>> if (!url && remote && remote->url)
>> url = remote->url[0];
>> ret->url = url;
>>
>> - /* In case previous URL had helper forced, reset it. */
>> - remote->foreign_vcs = NULL;
>> -
>> /* maybe it is a foreign URL? */
>> if (url) {
>> const char *p = url;
>> @@ -933,11 +932,11 @@ struct transport *transport_get(struct remote *remote, const char *url)
>> while (isalnum(*p))
>> p++;
>> if (!prefixcmp(p, "::"))
>> - remote->foreign_vcs = xstrndup(url, p - url);
>> + helper = xstrndup(url, p - url);
>> }
>>
>> - if (remote && remote->foreign_vcs) {
>> - transport_helper_init(ret, remote->foreign_vcs);
>> + if (helper) {
>> + transport_helper_init(ret, helper);
>> } else if (!prefixcmp(url, "rsync:")) {
>> ret->get_refs_list = get_refs_via_rsync;
>> ret->fetch = fetch_objs_via_rsync;
>> --
>> 1.7.0.rc0.19.gb557e6
>>
>>