我有一个自动运行git clone/pull的脚本(这实际上是在jenkins CI中发生的,但我的问题更一般)。远程git服务器基于HTTPS。带有git客户端的机器有一个不稳定的DSL互联网连接,所以它有时会重新连接并更改IP地址,失去所有现有的连接。当git客户端运行时连接失败时,客户端永远不会成功,但也不会超时失败,所以我的脚本挂起。
我想设置客户端,使其在一段时间后超时(因此脚本可以重试,或记录失败,或采取任何其他行动)。但是我在git-config手册页中没有找到任何超时选项。我找到了a related question,但它只用于SSH连接。你知道http服务器是否有替代品吗?
3条答案
按热度按时间1qczuiv01#
也
工作正常。
上面的例子意味着当速度保持低于1 KB/s 600秒(10分钟)时,远程操作将阻塞,操作将阻塞。
agxfikkp2#
你可以试试用
http.lowSpeedLimit
,http.lowSpeedTime
:如果HTTP传输速度(以字节/秒为单位)低于“http.lowSpeedLimit”的时间超过“http. lowSpeedTime”秒,则传输将中止。
可以被
GIT_HTTP_LOW_SPEED_LIMIT
和GIT_HTTP_LOW_SPEED_TIME
环境变量覆盖。Git 2.41(Q2 2023)添加了
http.lowSpeedLimit
的单元。参见commit 0aefe4c(2023年5月13日)Corentin Garcia (
corenting
)。(由Junio C Hamano --
gitster
--合并于commit 1f141d6,2023年5月20日)doc/git-config
:为http.lowSpeedLimit添加单位签字人:科伦坦·加西亚
在文档中添加
http.lowSpeedLimit
的单位(字节每秒)。git config
现在在其手册页中包括:如果HTTP传输速度(以每秒字节数为单位)...
isr3a4wc3#
将此添加到.gitconfig...
lowSpeedLimit是每秒字节数
我称之为Codeplex子句。