2009-07-11 15 views
16

Configuración de nuevas instalaciones de git.Git: problemas con la configuración de daemon, problemas con git clone

Por un portátil con Windows, estoy corriendo (bajo cygwin): root

git daemon --base-path=/cygdrive/c/work/proj/ 

Mi del proyecto es c: \ work \ proj \ proj1. Hay un directorio c: \ work \ proj \ proj1 \ .git.
git-daemon-export-ok existe en c: \ work \ proj \ proj1. (? Git-daemon-exportación bien puede haber un archivo vacío, sí)

En otro equipo de Windows, en la misma red local, lo he intentado muchas variaciones de este (bajo cygwin):

git clone git://xx.xx.xx.xx/proj1 

Espero que el daemon agregue 'proj1' a la ruta base y haga lo correcto.

En el servidor que veo:

5728] '/cygdrive/c/work/proj/proj1/.git': repository not exported. 

En el cliente que veo:

$ git clone git://xx.xx.xx.xx/proj1 
Initialized empty Git repository in /cygdrive/c/work/proj/proj1/.git/ 
fatal: The remote end hung up unexpectedly 

¿Qué estoy haciendo mal?
TIA ...

Respuesta

38

Usted necesita crear el archivo git-daemon-exportación-ok.git en el directorio. No lo ingrese en el repositorio junto con su código, sino simplemente cree un archivo vacío con ese nombre junto con los directorios branches, hooks, info, etc.

+3

O use 'git clone --bare' – gahooa

+6

Gracias. La clave es poner git-daemon-export-ok en el directorio .git, no en el directorio padre. – Number8

+11

O use la opción --export-all de git-daemon –

2

Si está utilizando gitosis que hay que añadir las dos líneas siguientes en gitosis.conf (nota: "repo" = "grupo"):

[repo myrepo] 
daemon=yes 

Cuando se presiona gitosis-admin, se creará automáticamente git-daemon-export-ok .

Si intenta crear el archivo manualmente en el repositorio, desaparecerá después de un tiempo.

+1

Aunque añadiría que si la persona está usando gitolita en lugar de gitosis, el usuario puede hacer esto automáticamente al agregar 'R = daemon' en las secciones para el repositorio que debe ser clonable con git y el protocolo git. – Mogget

2

tuve este mismo problema, pero por una razón diferente. si la respuesta de Ted no le funciona, intente agregar "--enable = receive-pack" a sus opciones de git-daemon. esto hizo el truco para mí.