Tengo un repositorio de git muy grande y quiero clonarlo. En una máquina (ArchLinux con git versión 2.2.2) todo funciona bien ...

Cloning into 'foo'
remote: Counting objects: 2372505, done
remote: Compressing objects: 100% (456914/456914), done.
Receiving objects: 100% (2372505/2372505), 3.81 GiB | 6.20 MiB/s, done.
...

... pero en otra máquina (Ubuntu con git versión 2.3.0, también probé con 1.7.0.4) , solo veo lo siguiente:

Cloning into 'foo'
remote: Counting objects: 2372505, done.

Y después de algunas horas, termina con

Write failed: Broken pipe
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

¿Alguna idea de cuál es el problema?

Por cierto:

  • El extremo remoto es un servidor gitlab.
  • Estoy usando SSH en ambos casos.
  • La primera máquina (en funcionamiento) está conectada a través de VPN (100 MBit / s).
  • La segunda máquina (que no funciona) está en la misma subred gigabit que el servidor gitlab.
12
Ethan Leroy 9 feb. 2015 a las 10:26

3 respuestas

La mejor respuesta

¡Resuelto! Usé un nombre DNS para conectarme al servidor de gitlab, y lo que no sabía: este nombre se resolvió en la IP externa del mismo servidor, entonces, el servidor y el cliente no estaba en la misma subred .

Entonces, el cliente se conectó a la IP externa del servidor, por lo que el firewall tuvo que hacer NAT de regreso al servidor.

La solución fue bastante simple: acabo de agregar el nombre de host con la ip interna al archivo /etc/hosts de la máquina cliente y, a partir de ahí, el clon funcionó a la perfección.

4
Ethan Leroy 12 feb. 2015 a las 09:33

Para mí, después de probar todas las sugerencias que se encuentran en la red, resultó que la conexión VPN se conectaba y desconectaba constantemente. Parece que si hay demasiados "cortes de red" o una red con pérdidas, git clone "se atasca" y, finalmente, aparece el mensaje de error de tubería rota.

Para depurar, si hay tráfico real, puede usar

iptraf

O

tcpdump -ni eth0 host github.com

En mi caso, inicialmente hubo un flujo constante de 2 MB / s, pero después de unos segundos, la conexión subyacente se rompió y el flujo de clonación nunca se recuperó, hasta que arreglé la conexión OpenVPN para mantenerme más estable.

0
PHZ.fi-Pharazon 19 nov. 2019 a las 20:04

Con respecto a GitLab, este hilo menciones (por un error similar)

Resolví ese problema (no puedo pagar un repositorio grande a través de HTTP) editando git/config/unicorn.yml y estableciendo el tiempo de espera en 120, cuando anteriormente era 30, y reiniciando el servicio de gitab.

Si no se trata solo del servidor de alojamiento de Git, sino de Git en sí, entonces tiene otras opciones para probar:

1
Community 23 may. 2017 a las 12:10