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

git push keeps writing after server failure

From
Shawn Pearce <spearce@spearce.org>
Date
Jun 12, 2015, 17:31 UTC
Message-ID
<CAJo=hJvzjnLFhF4REBzX=pgFamBfu7hZeZidy_8Rmi_DwwR4Nw@mail.gmail.com>

I did something stupid like trying to push a copy of WebKit[1] into my GitHub account. This is ~5.2 GiB of data, which GitHub prefers not to accept. Ok ...

$ git push --all git@github.com:spearce/wk.git Counting objects: 2752427, done. Delta compression using up to 12 threads. Compressing objects: 100% (442684/442684), done. remote: fatal: pack exceeds maximum allowed size Writing objects: 100% (2752427/2752427), 5.28 GiB | 8.86 MiB/s, done. Total 2752427 (delta 2225007), reused 2752427 (delta 2225007) fatal: The remote end hung up unexpectedly fatal: The remote end hung up unexpectedly

Notice GitHub prints "remote: fatal: pack exceeds maximum allowed size". That interrupted my "Writing objects" progress meter, and then git push just kept going and wrote really really fast (170 MiB/s!) until the entire pack was sent.

A similar thing happens on https:// if the remote HTTP server goes away in the middle of sending the pack. Except its slower to send the remainder of the pack before git push finally terminates with an error.

Shouldn't git push realize its stream is broken and stop writing when the peer is all like "uh, no, I'm not going to do that, but thanks for trying"?

[1] https://webkit.googlesource.com/WebKit/
Next: Junio C Hamano
Message 1 of 5 in “git push keeps writing after server failure”
  1. Shawn PearceJun 12, 2015
  2. Junio C HamanoJun 12, 2015
  3. Jeff KingJun 12, 2015
  4. Jeff KingJun 12, 2015
  5. Jeff KingJun 12, 2015

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.