开发者

Forcing a timeout in git push + pull

all questions I found wa开发者_如何学编程nt to avoid timeouts in git push/pull. In my case I want to force them. My push + pulls are all going over ssh to remote machines that might be unavailable at some point in time. For example, I have a script that pushes to two remote public repos. I don't want that this script hangs forever when it pushes to the first repo and that machine is unavailable. Instead, after some timeout i want the push to fail and continue with the second repo.

Any options here?


I don’t think you can do an automatic fail-over with built-in features. But since Git just uses SSH underneath, it should work to add a ConnectTimeout option for the machines in question in your .ssh/config. Cf. man ssh_config. Then something like git push foo || git push bar in the shell should do what you want.


from https://github.com/git/git/blob/master/Documentation/config.txt (around line 1770 at time of writing)

http.lowSpeedLimit, http.lowSpeedTime:: If the HTTP transfer speed is less than 'http.lowSpeedLimit' for longer than 'http.lowSpeedTime' seconds, the transfer is aborted. Can be overridden by the 'GIT_HTTP_LOW_SPEED_LIMIT' and 'GIT_HTTP_LOW_SPEED_TIME' environment variables.

I call it the Codeplex tweak. Add it to your .gitconfig

[http] lowSpeedLimit = 1000 lowSpeedTime = 20

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜