Gibt es eine Möglichkeit, git über HTTP-Timeout zu machen?

9

Ich habe ein Skript, das git clone / pull automatisch ausführt (dies geschieht tatsächlich in jenkins CI, aber meine Frage ist allgemeiner). Der Remote-Git-Server ist HTTPS-basiert. Die Maschine mit dem Git-Client hat eine flockige DSL-Internetverbindung, so dass sie sich manchmal neu verbindet und die IP-Adresse ändert, wobei alle bestehenden Verbindungen verloren gehen. Wenn die Verbindung fehlschlägt, während der Git-Client ausgeführt wird, ist der Client nie erfolgreich, aber er schlägt auch nicht mit einem Timeout fehl, sodass mein Skript auflegt.

Ich möchte den Client so einrichten, dass er nach einer gewissen Zeit abläuft (das Skript kann also einen neuen Versuch starten oder einen Fehler protokollieren oder eine andere Aktion ausführen). Aber ich habe keine Timeout-Option in der git-config-Manpage gefunden. Ich fand eine verwandte Frage , aber nur für SSH-Verbindungen. Weißt du, ob es eine Alternative für HTTP-Server gibt?

    
Daniel F. Moisset 23.06.2011, 18:19
quelle

3 Antworten

6

Sie können versuchen,

zu verwenden
  

Ссылка

     

Wenn die HTTP-Übertragungsgeschwindigkeit geringer ist   als http.lowSpeedLimit für länger   als http.lowSpeedTime Sekunden, die   Übertragung wird abgebrochen. Kann außer Kraft gesetzt werden   von GIT_HTTP_LOW_SPEED_LIMIT und   GIT_HTTP_LOW_SPEED_TIME-Umgebung   Variablen.

    
manojlds 24.06.2011, 00:33
quelle
6

Zusätzlich zur CAD-Datei 's Antwort:

Auch

%Vor%

funktioniert gut.

Das obige Beispiel bedeutet, dass die Fernsteuerung blockiert wird, wenn die Geschwindigkeit für 600 Sekunden (10min) unter 1KB / s gehalten wird. Die Aktion wird blockiert.

    
Alfred Huang 28.05.2016 09:36
quelle
2

Fügen Sie dies zu .gitconfig ...

hinzu %Vor%

lowSpeedLimit ist Bytes pro Sekunde

Ich nenne es die Codeplex-Klausel.

    
CAD bloke 04.05.2016 21:45
quelle

Tags und Links