Some users may receive an error that their Git push was rejected. The Smart HTTP protocol in Git uses Transfer-Encoding: chunked
in POST
requests when it contains packed objects greater than 1 MB in size.
Some proxy servers do not support this transfer encoding by default, and the requests are rejected before they are transferred. Due to this rejection, no extra information gets through.
Another reason for this message is that you may be using an outbound proxy.
Resolving this issue
Pushing large amounts of data may require a higher http.postBuffer
setting on your Git client, which is different from the server.
Check the configuration on your reverse proxy. The reverse proxy might have a connection timeout that is closing the connection.
Try bypassing the proxy by pushing directly. If this works, it is highly likely that the proxy server is causing the early disconnect and needs to be tuned. Use the following steps:
Increase the Git buffer size to the largest individual file size of your repo. For example,
git config --global http.postBuffer 157286400
Bypass the outbound proxy.
Fix your proxy if you need it to get to Stash or bypass your proxy, and then connect to Stash directly.
Check your Git outbound proxy configuration and unset it by setting
client_max_body_size 0
to allow users to push repositories of any size.
Have questions? Email us support@assembla.com