git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Cloning from sites with 404 overridden

From
Junio C Hamano <junkio@cox.net>
Date
Mar 22, 2006, 19:05 UTC
Message-ID
<7vslpa8fld.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20060322183621.GP3997@reactrix.com>
Nick Hengeveld <nickh@reactrix.com> writes:
Show 5 quoted lines
> Some HTTP server environments return a 200 status and text/html error
> document or a redirect to one rather than a 404 status if a loose
> object does not exist.  This patch detects and reports this condition
> to differentiate between a misconfigured server and an actual corrupt
> object on the server.
Show 11 quoted lines
> 61069cc348640fef2b8c503b8b8f00f689872cab
> diff --git a/http-fetch.c b/http-fetch.c
> index dc67218..ee5b585 100644
> --- a/http-fetch.c
> +++ b/http-fetch.c
> @@ -41,6 +41,7 @@ struct object_request
>  	CURLcode curl_result;
>...
> +	char *content_type;
>  	unsigned char real_sha1[20];
>...
You probably need only one bit here,...
Show 9 quoted lines
> @@ -258,9 +259,15 @@ static void finish_object_request(struct
>  
>  static void process_object_response(void *callback_data)
>...  
> +	curl_easy_getinfo(obj_req->slot->curl, CURLINFO_CONTENT_TYPE,
> +			  &content_type);
> +	if (content_type)
> +		obj_req->content_type = strdup(content_type);
> +
... and note if that is an HTML document or not.

We do bend backwards to support ISP HTTP servers, but this might be going a bit too far. Also I wonder if ISP runs a really dumb-friendly configured server that defaults to text/html unless the mimemap says otherwise. Loose object files do not have suffixes and I am expecting these servers would give whatever the server default is.

Previous: Nick HengeveldNext: Junio C Hamano
Message 14 of 18 in “Re: Cloning from sites with 404 overridden”
  1. linux@horizon.comMar 22, 2006
  2. Shawn PearceMar 22, 2006
  3. Linus TorvaldsMar 22, 2006
  4. Marco CostalbaMar 22, 2006
  5. Junio C HamanoMar 22, 2006
  6. Andreas EricssonMar 22, 2006
  7. Mark WoodingMar 24, 2006
  8. Junio C HamanoMar 24, 2006
  9. Linus TorvaldsMar 24, 2006
  10. Morten WelinderMar 24, 2006
  11. Andreas EricssonMar 24, 2006
  12. Nick HengeveldMar 22, 2006
  13. Nick HengeveldMar 22, 2006
  14. Junio C HamanoMar 22, 2006
  15. Junio C HamanoMar 22, 2006
  16. Nick HengeveldMar 23, 2006
  17. Junio C HamanoMar 23, 2006
  18. Radoslaw SzkodzinskiMar 22, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.