¿Cómo git pull / clone se cuelga después de rev-list en una networking, funciona en otros: cómo depurar y corregir?

En mi laptop ubuntu, un git pull se congela cuando llega al command rev-list, vea el resultado a continuación:

GIT_TRACE=1 GIT_CURL_VERBOSE=1 git pull --verbose trace: exec: 'git-pull' '--verbose' trace: run_command: 'git-pull' '--verbose' trace: built-in: git 'rev-parse' '--git-dir' trace: built-in: git 'rev-parse' '--is-bare-repository' trace: built-in: git 'rev-parse' '--show-toplevel' trace: built-in: git 'ls-files' '-u' trace: built-in: git 'symbolic-ref' '-q' 'HEAD' trace: built-in: git 'config' '--bool' 'branch.upgrade-to-rails3.rebase' trace: built-in: git 'config' '--bool' 'pull.rebase' trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD' trace: built-in: git 'fetch' '-v' '--update-head-ok' trace: run_command: 'ssh' 'my_repo@mydomain.com' 'git-upload-pack '\''/home/mana/git/chc.git'\''' trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet' 

Otras computadoras (Windows y Mac) en la misma networking pueden extraer del mismo repository (que vive en un server privado). Luego llevé mi computadora portátil a una networking diferente y ¡funciona bien!

Cosas que he intentado:

  • Estableciendo el MTU en eth0 a 1492 (como vi que para algunas personas el valor pnetworkingeterminado de 1500 causó problemas).
  • Confirmando que puedo enviar ssh al server con éxito.
  • Borrando el process sshd colgado de bashs colgados previamente.
  • git gc en el server remoto

Entonces, ¿qué, en el enrutador de una networking, en combinación con mi versión particular de ubuntu podría estar causando esto, y cómo puedo depurarlo?

Si sospechas algo con ssh, ¿por qué no crear un script my-ssh?

 #!/bin/sh ssh -v $@ 

entonces

 env GIT_SSH='./my-ssh' git pull 

De esta forma, puedes decir dónde en ssh el process está colgando

(Esto debería ser un comentario, ¡pero luego no pude formatear el código!)

Tenía un problema similar en mi Mac, ciertos commands de git de ssh funcionarían, otros aparentemente colgarían en la terminal sin ninguna respuesta.

 git remote -v show origin -- would hang git push origin -- would work 

Enrutador Swithing, al usar mi teléfono como punto de acceso inalámbrico, ambos commands funcionaron …

Solución:

  1. Si no existe cree el file en su directory de usuario (el mío no existía)

     /Users/[your_user]/.ssh/config 
  2. Entrar en él:

     Host * IPQoS 0x00 
  3. No estoy seguro de si era necesario reiniciar el process de ssh, creo que no.

¿Por qué?

Configuración pnetworkingeterminada de calidad de service en el enrutador. Encontré la solución y la explicación en http://forthescience.org/blog/tag/ssh/

    Intereting Posts