有没有办法让git超过http超时?

时间:2011-06-23 18:19:22

标签: git http timeout jenkins

我有一个脚本自动运行git clone / pull(这实际上发生在jenkins CI中,但我的问题更为笼统)。远程git服务器基于HTTPS。具有git客户端的机器具有片状DSL互联网连接,因此它有时会重新连接并更改IP地址,从而丢失其所有现有连接。当git客户端运行时连接失败时,客户端永远不会成功,但它也不会因超时而失败,所以我的脚本会挂断。

我想设置客户端,以便在一段时间后超时(因此脚本可以重试,或记录失败,或采取任何其他操作)。但我没有在git-config联机帮助页中找到任何超时选项。我发现a related question但它只适用于SSH连接。你知道是否有替代http服务器?

3 个答案:

答案 0 :(得分:14)

除了 CAD bloke 的回答:

另外

git config --global http.lowSpeedLimit 1000
git config --global http.lowSpeedTime 600

工作正常。

以上示例表示当速度保持在1KB / s以下600秒(10分钟)时远程动作将被阻止,动作将被阻止。

答案 1 :(得分:11)

您可以尝试使用

  

http.lowSpeedLimit,http.lowSpeedTime

     

如果HTTP传输速度较慢   比http.lowSpeedLimit更长   比http.lowSpeedTime秒,   转移中止。可以被覆盖   通过GIT_HTTP_LOW_SPEED_LIMIT和   GIT_HTTP_LOW_SPEED_TIME环境   变量

答案 2 :(得分:5)

将此添加到.gitconfig ...

[http]
lowSpeedLimit = 1000
lowSpeedTime = 20

lowSpeedLimit是每秒字节数

我称之为Codeplex子句。