Принудительный таймаут в git push + pull - PullRequest
8 голосов
/ 21 сентября 2010

все вопросы, которые я нашел, хотят избежать таймаутов в git push / pull. В моем случае я хочу заставить их. Мои push + pull все передаются по ssh на удаленные машины, которые могут быть недоступны в какой-то момент времени. Например, у меня есть скрипт, который выдвигает два удаленных публичных репозитория. Я не хочу, чтобы этот скрипт зависал навсегда, когда он выдвигается к первому репо, а эта машина недоступна. Вместо этого после некоторого тайм-аута я хочу, чтобы толчок не прошел и продолжился второй репо.

Есть ли здесь варианты?

Ответы [ 2 ]

11 голосов
/ 22 сентября 2010

Я не думаю, что вы можете сделать автоматический переход на другой ресурс при помощи встроенных функций.Но поскольку Git просто использует SSH, он должен добавить опцию ConnectTimeout для рассматриваемых машин в вашем .ssh/config.Срman ssh_config.Тогда что-то вроде git push foo || git push bar в оболочке должно делать то, что вы хотите.

0 голосов
/ 18 апреля 2016

из 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...