2009-07-11 9 views
16

Configurazione di nuove installazioni git.Git: problemi con la configurazione del demone, problemi con git clone

Da un portatile Windows, sto correndo (sotto Cygwin): radice

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

Il mio progetto è C: \ lavoro \ proj \ proj1. Esiste una directory c: \ work \ proj \ proj1 \ .git.
git-daemon-export-ok esiste in c: \ work \ proj \ proj1. (? Git-daemon-export-ok può essere un file vuoto, sì)

Su un altro computer Windows, sulla stessa rete locale, ho provato molte varianti di questo (sotto Cygwin):

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

Mi aspetto che il demone aggiunga 'proj1' al percorso di base e faccia la cosa giusta.

Sul server che vedo:

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

Sul client vedo:

$ 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 

Che cosa sto facendo di sbagliato?
TIA ...

risposta

38

È necessario creare il file digit-daemon-export-ok nella directory .git. Non trasferirlo nel repository insieme al codice, ma semplicemente creare un file vuoto con quel nome insieme alle directory branches, hooks, info, ecc.

+3

Oppure utilizzare 'git clone --bare' – gahooa

+6

Grazie. La chiave sta mettendo git-daemon-export-ok nella directory .git, non nella directory principale. – Number8

+11

Oppure usa l'opzione --export-all per git-daemon –

2

Se si utilizza gitosis è necessario aggiungere le due righe seguenti in gitosis.conf (nota: "pronti contro termine" = "gruppo"):

[repo myrepo] 
daemon=yes 

Quando si preme gitosis-admin, creerà automaticamente git-daemon-export-ok .

Se si tenta di creare manualmente il file nel repository, continuerà a scomparire dopo un po 'di tempo.

+1

Anche se aggiungo che se la persona sta usando gitolite invece di gitosi, l'utente può farlo automaticamente aggiungendo 'R = daemon' nelle sezioni per il repository che dovrebbe essere clonabile con git e il protocollo git. – Mogget

2

Ho avuto lo stesso problema, ma per un motivo diverso. se la risposta di Ted non funziona, prova ad aggiungere "--enable = receive-pack" alle opzioni git-daemon. questo ha fatto il trucco per me.