Re: [PATCH 3/4] docs: add a FAQ section on push and fetch problems
From: Junio C Hamano <hidden>
Date: 2021-03-01 18:06:19
"brian m. carlson" [off-list ref] writes:
quoted hunk
+[[remote-connection-http-411]] +Why do I get an error about an HTTP 411 status?:: + Sometimes users see error messages when pushing that refer to HTTP status 411, + such as "RPC failed; result=22, HTTP code = 411." This status means that the + server or a machine in the middle, such as a proxy, TLS middlebox, antivirus, + firewall, or other middlebox, refuses to accept a streaming data connection. ++ +When pushing or fetching over HTTP, Git normally uses a small buffer and, if the +data is large, uses HTTP 1.1 chunked transfer encoding or HTTP 2 streaming to +send the data without a defined size. This is useful because it allows a push +or fetch to start much faster and therefore complete much faster. This type of +streaming has been standardized since 1999 and is well understood, and all +modern software should be capable of supporting it. ++ +However, in this case, the remote server or middlebox is misconfigured and does +not correctly support this. The best thing to do is contact the responsible +party and ask them to fix the server or middlebox, since this misconfiguration +can affect many pieces of software, some of which will simply not function at +all in this environment. ++ +If the remote server supports SSH, you may wish to try using SSH instead. If +that is not possible, you can set `http.postBuffer` to a larger value as a +workaround. This is one of the few times when that option is useful, but note +<<http-postbuffer,as outlined in the answer above>> that doing so will increase +the memory usage for every push, no matter how small, and will not be able to +handle pushes of arbitrary sizes, so fixing the broken server or device or +switching to SSH is preferable in almost all cases.
Don't we rather want to merge this with [[http-postbuffer] part of
the faq? If we can have two header lines for the same description
(i.e. the FAQ list may have
"What does `http.postBuffer` do?" aka "I got HTTP 411--what now?"
as either a single link or a two separate but clearly related
entries), that might be ideal.
Thanks.