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

Re: [PATCH 0/2] handling REF_STATUS_EXPECTING_REPORT over http

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Oct 19, 2021, 23:58 UTC
Message-ID
<YW9bsUdgpm3/C4+R@camp.crustytoothpaste.net>
In-Reply-To
<YW3MY6lAI5l+BOnP@coredump.intra.peff.net>
On 2021-10-18 at 19:34:59, Jeff King wrote:
Show 31 quoted lines
> I recently saw a case where GitHub's server implementation failed to
> correctly report ref statuses. In this case it was because it hit an
> internal timeout, but the root cause doesn't really matter; the server
> is doing the wrong thing.
> 
> But what's interesting on the Git client side is that we produce quite a
> confusing message for http. For ssh, we correctly say something like (in
> this example, I'm pushing an absurd number of tags that causes the
> timeout):
> 
>    To ssh://github.com/some/repo
>     ! [remote failure]  tag-1 -> tag-1 (remote failed to report status)
>    [...etc...]
>     ! [remote failure]  tag-999 -> tag-999 (remote failed to report status)
>    error: failed to push some refs to 'ssh://github.com/some/repo'
> 
> but for http, I get just:
> 
>   Everything up-to-date
> 
> Which is misleading to say the least. The issue is communication between
> send-pack and remote-curl on the client side.
> 
> The first patch does the minimal fix. The second one has some cosmetic
> improvements. They arguably could be squashed together, but I think
> keeping them split shows exactly what the second patch is actually
> accomplishing (especially with the minor change to the expected output
> in the test).
> 
> This bug has been around since smart http was added in 2009. I just
> prepared it on master, but I expect it could also go to maint.

This seems sane to me, and I'm delighted you managed to add a test for this case (which I was not expecting to be possible).

-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA
Previous: Jeff King
Message 5 of 5 in “handling REF_STATUS_EXPECTING_REPORT over http”
  1. 0/2 handling REF_STATUS_EXPECTING_REPORT over httpJeff King, Oct 18, 2021
  2. 1/2 send-pack: complain about "expecting report" with --helper-statusJeff King, Oct 18, 2021
  3. Junio C HamanoOct 18, 2021
  4. 2/2 transport-helper: recognize "expecting report" error from send-packJeff King, Oct 18, 2021
  5. brian m. carlsonOct 19, 2021

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.