有没有办法让 git over http 超时?
我有一个自动运行 git clone/pull 的脚本(这实际上发生在 jenkins CI 内部,但我的问题更笼统)。远程 git 服务器是基于 HTTPS 的。装有 git 客户端的机器的 DSL 互联网连接不稳定,因此有时会重新连接并更改 IP 地址,从而丢失所有现有连接。当 git 客户端运行时连接失败时,客户端永远不会成功,但也不会因超时而失败,因此我的脚本挂起。
我想设置客户端,使其在一段时间后超时(以便脚本可以重试,或记录失败,或采取任何其他操作)。但我在 git-config 手册页中没有找到任何超时选项。我发现相关问题,但它仅适用于 SSH 连接。您知道 http 服务器是否有替代方案吗?
I'm having a script running git clone/pull automatically (this is actually happening inside jenkins CI, but my question is more general). The remote git server is HTTPS based. The machine with the git client has a flaky DSL internet connection, so it sometimes reconnects and changes IP address, losing all its existing connections. When the connection fails while the git client is running, the client never succeeds but it doesn't fail with a timeout either, so my script hangs up.
I'd like to set up the client so it timeouts after some period (so the script can retry, or log a failure, or take any other action). But I didn't find any timeout option in the git-config manpage. I found a related question but it's only for SSH connections. Do you know if there's an alternative for http servers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
CAD 家伙的回答的补充:
也
可以正常工作。
上面的例子意味着远程操作将被阻塞,当速度保持在 1KB/s 以下并持续 600 秒(10 分钟)时,该操作将被阻塞。
Additional to CAD bloke's answer:
Also
works fine.
The above example means the remote action will block when the speed kept below 1KB/s for 600 seconds(10min), the action will block.
您可以尝试使用
Git 2.41(2023 年第 2 季度)添加了
http.lowSpeedLimit
的单位。请参阅 提交 0aefe4c(2023 年 5 月 13 日),作者:Corentin加西亚(
核心
)。(由 Junio C Hamano --
gitster
-- 合并于 提交 1f141d6,2023 年 5 月 20 日)git config
现在包含在其 手册页:You can try using
Git 2.41 (Q2 2023) added the unit for
http.lowSpeedLimit
.See commit 0aefe4c (13 May 2023) by Corentin Garcia (
corenting
).(Merged by Junio C Hamano --
gitster
-- in commit 1f141d6, 20 May 2023)git config
now includes in its man page:将其添加到 .gitconfig ...
lowSpeedLimit 是每秒字节数,
我将其称为 Codeplex 子句。
Add this to .gitconfig ...
lowSpeedLimit is bytes per second
I call it the Codeplex clause.