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

Re: What's cooking in git.git (Nov 2009, #02; Sun, 08)

From
Shawn O. Pearce <spearce@spearce.org>
Date
Nov 9, 2009, 15:29 UTC
Message-ID
<20091109152935.GM11919@spearce.org>
In-Reply-To
<905315640911090008h34b55a37q439d02de37127039@mail.gmail.com>
Tarmigan <tarmigan+git@gmail.com> wrote:
Show 9 quoted lines
> On Sun, Nov 8, 2009 at 9:18 PM, Junio C Hamano <gitster@pobox.com> wrote:
> > * sp/smart-http (2009-11-04) 30 commits
> >  + test smart http fetch and push
> 
> I am trying to test smart http, and have had to set
> DEFAULT_HTTPD_PATH='/usr/sbin/httpd'
> DEFAULT_HTTPD_MODULE_PATH='/usr/lib64/httpd/modules' on Centos.
> Perhaps this failing test is just a difference in the default Apache
> and curl configurations.
*sigh*
 
Show 12 quoted lines
> --- exp	2009-11-09 07:33:19.000000000 +0000
> +++ act	2009-11-09 07:33:19.000000000 +0000
> @@ -6,15 +6,16 @@
>  < Pragma: no-cache
>  < Cache-Control: no-cache, max-age=0, must-revalidate
>  < Content-Type: application/x-git-upload-pack-advertisement
> -<
>  > POST /smart/repo.git/git-upload-pack HTTP/1.1
> +> Accept: */*
>  > Accept-Encoding: deflate, gzip
>  > Content-Type: application/x-git-upload-pack-request
>  > Accept: application/x-git-upload-pack-response

The first delta is a missing blank line between requests. I probably can work around that with some sort of sed hackery and its likely caused by a different libcurl version.

The second delta is libcurl sending *two* Accept headers to the server. The first was set by the library as "*/*", but the second was set by git-remote-curl. Here your libcurl is just plain *wrong*. The application has said "I only support one content type, this one" and the library still went and told the server "I accept anything you have, just give it to me!".

I'm not sure what to do about this breakage in curl. We may have to relax how we use HTTP since at least one version of libcurl can't get this minor detail right.

Show 5 quoted lines
>  > Content-Length: xxx
> 
> +> 0073want 1937bb05802e1973cc2e437c13e9f1845941b785
> multi_ack_detailed side-band-64k thin-pack no-progress ofs-delta
> +> 00000009done

Hmmph. Your libcurl also included the POST body in the verbose message.

-- 
Shawn.
Previous: TarmiganNext: Tarmigan
Message 3 of 7 in “What's cooking in git.git (Nov 2009, #02; Sun, 08)”
  1. Junio C HamanoNov 9, 2009
  2. TarmiganNov 9, 2009
  3. Shawn O. PearceNov 9, 2009
  4. TarmiganNov 10, 2009
  5. http-backend: Fix bad treatment of uintmax_t in Content-LengthShawn O. Pearce, Nov 12, 2009
  6. TarmiganNov 14, 2009
  7. Junio C HamanoNov 15, 2009

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.