25. Dezember 2013
Große git commits mit HTTP übertragen
25. Dezember 2013 - Geschrieben von Martin - Keine Kommentare
Counting objects: 1753, done. Delta compression using up to 2 threads. Compressing objects: 100% (1605/1605), done. efatal: The remote end hung up unexpectedly rror: RPC failed; result=22, HTTP code = 411 Writing objects: 100% (1656/1656), 1.21 MiB | 1.12 MiB/s, done. Total 1656 (delta 667), reused 0 (delta 0) fatal: The remote end hung up unexpectedly Everything up-to-date |
Jeder der mit HTTP auf seinen git Server pusht kennt dieses Problem, bei großen Commits „hängt sich schnell einmal der Remote Server auf“. Um große git commits über HTTP zu übertragen muss beim Client die HTTP Post Buffer size erhöht werden. Standardmäßig liegt diese bei unter einem Megabyte, was beim commiten von Bibliotheken oder Mediendaten schnell einmal zu wenig wird:
git config http.postBuffer 524288000 |
Der Wert wird in bytes angegeben, hier also 500MB.
Schlägt das pushen nun wieder fehl, sollte auf Serverseite nocheinmal kontrolliert werden ob der Server überhaupt auf solche Datenmengen ausgelegt ist. Bei nginx beispielsweise fügt man hierzu in der Konfigurationsdatei des jeweiligen Servers einen Abschnitt hinzu:
http { client_max_body_size 500m; } |
Schreibe einen Kommentar