2009-05-02 12 views
5

No puedo clonar mi repositorio a través de http:No se puede clonar repositorio de Mercurial (Hg) a través de http

aborto: 'http://MYREPO' no parece ser un repositorio de Hg!

En primer lugar, he creado un nuevo repositorio por hg init MYREPO seguido de agregar algunos archivos y confirmar.

El DIR con repo está protegido con contraseña, pero no hay ninguna señal de problemas a causa de ella, he intentado ambos métodos de clonación: (en mi máquina local)

hg clone http://MYREPO my_repo

y

clon hg http://user:[email protected] my_repo

Permiso de dir repo son: drwxrwxr-x

Puedo clonar este mismo repositorio en mi máquina remota (el mismo repositorio está activado) sin ningún problema.

¿Qué podría estar mal?

Respuesta

0

Argh ... Hay que tener cuidado con la configuración .htaccess. En mi caso, necesitaba agregar 'hgwebdir.cgi' a la ruta para clonar ... ¡Gracias por las respuestas!

SSH parece lógico, pero por alguna razón no podía usarlo con excepción de mi local de usuario:

hg clone ssh: // MY_REMOTE_USER @ myrepo remoto: abortar: No hay repositorio Mercurial aquí (no .hg encontró)!

10

ACTUALIZACIÓN:

Parece que está recibiendo confuso entre el repositorio y el nombre de host

Si se ejecuta "hg serve", "hg clone http://[email protected]:8000" donde host puede ser IP de su máquina o el nombre de host (tipo " nombre de host "en Linux o prueba" ping localhost "). Puede cambiar el puerto predeterminado de 8000 pasando un --port #### al servicio hg.

Si desea hacerlo a través de ssh, "hg clone ssh: // USER @ HOST // RUTA/A/SU/REPOSITORIO". Supongamos que hace un repositorio en su directorio de inicio llamado MYREPO y luego haría esto: "hg clone ssh: // USER @ HOST/~/MYREPO"

Solo puede clonar su repositorio a través de http algo está sirviendo a ese repositorio sobre http. Mercurial proporciona un servidor http integrado para usted. Ejecute "hg serve" mientras está dentro de su repositorio e intente clonarlo desde otra ubicación (u otro shell de comandos). Si solo quiere un clon local, no necesita usar http ("hg clone").

Además, prueba "hg help clonar" y "hg help serve" para más detalles.

2

besszero tiene razón, pero ¿por qué no se clona utilizando SSH si va a usar el nombre de usuario y la contraseña de todos modos?

hg clone ssh: // // machine_ip su/repo/ubicación your_repo

Es también más seguro si no desea abrir otro puerto para el servidor HTTP de mercurio y que no necesita las características hgweb, el tráfico también está encriptado La única desventaja es que debe iniciar sesión para finalizar la compra, pero HTTP no funciona para hacer retroceder los cambios, al menos no en mi experiencia.

+1

Funciona con push_ssl = false en su hgrc –

3

extrañamente, la clonación con ssh requiere una barra inclinada adicional no intuitiva.

esto funciona para mí en un host con ssh corriendo en el puerto 43211

hg clone ssh://example.com:43211//repos/myRepo ./myRepo 

de la doble barra después de que el número de puerto funciona, pero una sola barra no produce el error ".hg no encontrado"

+3

'hg help urls' dice con una barra oblicua que accede a su casa, y con dos la raíz. – kay

Cuestiones relacionadas