Re: [PATCH] Trivial support for cloning and fetching via ftp://.

From: Junio C Hamano <junkio@cox.net>
Date: 2006-09-16 19:12:13
Sasha Khapyorsky <sashak@voltaire.com> writes:

> Something like this?
>
> With this change I'm able to clone
> ftp://ftp.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git

I think without you would have, just with extra error messages
that http codepath filters out.

> diff --git a/http-fetch.c b/http-fetch.c
> index a113bb8..46d6029 100644
> --- a/http-fetch.c
> +++ b/http-fetch.c
> @@ -324,7 +324,9 @@ static void process_object_response(void
>  
>  	/* Use alternates if necessary */
>  	if (obj_req->http_code == 404 ||
> -	    obj_req->curl_result == CURLE_FILE_COULDNT_READ_FILE) {
> +	    obj_req->curl_result == CURLE_FILE_COULDNT_READ_FILE ||
> +	    (obj_req->http_code == 550 &&
> +	     obj_req->curl_result == CURLE_FTP_COULDNT_RETR_FILE)) {

Here you do the same as the code would for HTTP 404 when you get
550 _and_ RETR failure...

> @@ -538,7 +540,9 @@ static void process_alternates_response(
>  		}
>  	} else if (slot->curl_result != CURLE_OK) {
>  		if (slot->http_code != 404 &&
> -		    slot->curl_result != CURLE_FILE_COULDNT_READ_FILE) {
> +		    slot->curl_result != CURLE_FILE_COULDNT_READ_FILE &&
> +		    (slot->http_code != 550 &&
> +		     slot->curl_result != CURLE_FTP_COULDNT_RETR_FILE)) {
>  			got_alternates = -1;

... but you say, while the original code says "declare error if
it is not HTTP 404", "oh by the way, if it is 550 _or_ if it
is RETR failure then do not trigger this if()".  I suspect you
meant to say this?

	    (slot->http_code != 550 ||
	     slot->curl_result != CURLE_FTP_COULDNT_RETR_FILE)) {


-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Sat Sep 16 19:13:01 2006

This archive was generated by hypermail 2.1.8 : 2006-09-16 19:13:43 EST