Ho un repository git sul mio file server a cui mi sto collegando tramite AFP. Ogni volta che provo a eseguire un'operazione git sul repository condiviso, ad esempio la gestione temporanea di un file, viene visualizzato il seguente messaggio di errore:
fatal: Unable to write new index file
Se eseguo il comando git sul server funziona correttamente, quindi c'è qualcosa sulla condivisione del repository tramite AFP che non funziona.
Uso Mountain Lion sia sul server che sul client.
Aggiorna
Mi sembra di avere il permesso di scrittura sia per .git
che .git/index
:
$ ls -ld .git
drwxr-xr-x 1 david staff 364 Nov 29 22:38 .git/
$ ls -l .git/index
-rw-r--r-- 1 david staff 2232 Nov 29 21:45 .git/index
$ cp .git/index backup
$ echo change >> .git/index
Ho provato ricorsivamente ad applicare le autorizzazioni a .git
come suggerito da una risposta sotto, ma ciò non ha aiutato:
$ chmod -Rv +w .git
$ git add deploy.js
fatal: Unable to write new index file
Hmm, sembra che qualcun altro stia utilizzando il file index
:
$ cp .git/index backup; mv backup .git/index
mv: rename backup to .git/index: Resource busy
Ma fuser
e lsof
non sono di alcun aiuto:
$ fuser -fu .git/index
.git/index:
$ lsof .git/index
Soluzione alternativa: se eseguo il seguente comando sul server , mi consente di scrivere un nuovo file index
sul client tramite AFP.
$ cp .git/index backup; mv backup .git/index
Sono totalmente perso a questo punto; nuove teorie?