在git push + pull中强制超时

时间:2010-09-21 08:57:18

标签: git

我发现的所有问题都希望避免git push / pull中的超时。在我的情况下,我想强迫他们。我的推送+拉动都是通过ssh到达某些时间点可能无法使用的远程机器。例如,我有一个脚本推送到两个远程公共存储库。我不希望这个脚本在推送到第一个repo并且该机器不可用时永远挂起。相反,在一些超时之后,我希望推送失败并继续第二个回购。

这里有任何选择吗?

2 个答案:

答案 0 :(得分:10)

我认为您无法使用内置功能进行自动故障转移。但由于Git只是在下面使用SSH,因此可以在ConnectTimeout中为相关机器添加.ssh/config选项。参看man ssh_config。然后shell中git push foo || git push bar之类的东西应该做你想要的。

答案 1 :(得分:0)

来自https://github.com/git/git/blob/master/Documentation/config.txt(撰写本文时约为1770行)

  

http.lowSpeedLimit,http.lowSpeedTime ::       如果HTTP传输速度小于'http.lowSpeedLimit'       如果超过'http.lowSpeedTime'秒,则传输中止。       可以被'GIT_HTTP_LOW_SPEED_LIMIT'覆盖并且       'GIT_HTTP_LOW_SPEED_TIME'环境变量。

我称之为Codeplex调整。将其添加到.gitconfig

[http] lowSpeedLimit = 1000 lowSpeedTime = 20