2010-10-01 18 views
6

He cambiado nuestra base de código interno para usar Mercurial, con un repositorio remoto alojado. He leído que usar Mercurial sobre SSH en lugar de HTTPS es más rápido porque los datos se comprimen antes de enviarlos. Pero ... en comparación con HTTPS, es bastante complicado configurarlo, especialmente en Windows.Mercurial - HTTPS o SSH?

Para aquellos de ustedes que han utilizado regularmente tanto en grandes proyectos ...

  1. es la ganancia de rendimiento vale la pena el dolor de cabeza de la creación de claves privadas pública/para cada usuario, y tratar con otra meticuloso problemas de configuración?
  2. ¿Hay incluso una ganancia de rendimiento notable? I no he visto uno en proyectos más pequeños .
  3. ¿Es SSH más seguro?
  4. ¿Haría cumplir una política de usar un sobre el otro, o dejar que cada desarrollador elija ?

Respuesta

7

Sí, para un repositorio muy grande, se recomienda que use SSH como Mercurial para repo grande. Mercurial puede comprimir los datos que se envían para ssh y https, por lo que puede empujar y tirar más rápido. Además, de forma predeterminada, Mercurial no usa compresión al enviar o recuperar datos a través de SSH. Deberá habilitarlo a través de la configuración.

Hay dos maneras de hacer esto:

  1. indicarle a Mercurial, que comando SSH para ejecutar
  2. especificar la compresión en su archivo ~/.ssh/config

In.hgrc

# Use compression 
ssh = ssh -C 

Para especificarlo en su archivo de configuración SSH, edite ~/.ssh/config

Dicho todo esto, la configuración de HTTPS es fácil. Si lo tiene, simplemente úselo, a menos que vaya a escribir marcos de mega toneladas.

+0

Parece que HTTPS me dará todo lo que necesito para mis proyectos (relativamente pequeños) ... rendimiento, facilidad de configuración y seguridad. Gracias. –

+1

Debe tenerse en cuenta que este elemento va en la sección de .hgrc [ui]. –

4

Cualquiera de las dos funciona bien; ve con lo que sea más fácil para ti.

HTTPS también comprime antes del cifrado, por lo que no es un gran problema. La única diferencia real que he visto es que los clones pueden abortar por enormes reposiciones de a través de HTTP, pero la gente siempre puede volver a intentarlo.

Personalmente, me gusta usar https como una configuración de solo lectura para que las personas puedan ver/explorar/clonar, y luego usar ssh para todo lo escrito, y permitir clon/pull desde ssh también.

Muchas personas comienzan con el acceso ssh porque ya tienen cuentas de usuario de UNIX para todos, por lo que no es necesario realizar ninguna configuración adicional.

Si ya tiene https trabajando para usted, simplemente quédese con él.

Cuestiones relacionadas