2010-09-21 13 views
7

todas las preguntas que encontré quieren evitar tiempos de espera en git push/pull. En mi caso, quiero forzarlos. Mis push + pulls están pasando por ssh a máquinas remotas que podrían no estar disponibles en algún momento. Por ejemplo, tengo un script que empuja a dos repos públicos remotos. No quiero que este script se cuelgue para siempre cuando empuja al primer repositorio y esa máquina no está disponible. En cambio, después de un tiempo de espera, quiero que el empuje falle y continuar con el segundo repositorio.Forzando un tiempo de espera en git push + pull

¿Alguna de estas opciones aquí?

Respuesta

10

No creo que pueda hacer una conmutación por error automática con funciones incorporadas. Pero como Git solo usa SSH debajo, debería funcionar agregar una opción ConnectTimeout para las máquinas en cuestión en su .ssh/config. Cf. man ssh_config. Entonces algo como git push foo || git push bar en el shell debe hacer lo que quiera.

0

de https://github.com/git/git/blob/master/Documentation/config.txt (1770 alrededor de la línea en el momento de la escritura)

http.lowSpeedLimit, http.lowSpeedTime :: Si la velocidad de transferencia HTTP es menor que 'http.lowSpeedLimit' durante más de 'http .lowSpeedTime 'segundos, la transferencia se cancela. Puede anularse mediante las variables de entorno 'GIT_HTTP_LOW_SPEED_LIMIT' y 'GIT_HTTP_LOW_SPEED_TIME'.

Lo llamo Codeplex tweak. Agrégala a tu .gitconfig

[http] lowSpeedLimit = 1000 lowSpeedTime = 20

Cuestiones relacionadas