Git no funciona con AFP

4

Tengo un repositorio git en mi servidor de archivos al que me estoy conectando a través de AFP. Cada vez que intento realizar una operación git en el repositorio compartido, como en la organización de un archivo, aparece el siguiente mensaje de error:

fatal: Unable to write new index file

Si ejecuto el comando git en el servidor, funciona bien, así que hay algo acerca de compartir el repositorio a través de AFP que no funciona.

Estoy usando Mountain Lion tanto en el servidor como en el cliente.

ACTUALIZAR

Parece que tengo permiso de escritura para .git y .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

Intenté aplicar permisos recursivamente a .git como se sugiere en una respuesta a continuación, pero eso no ayudó:

$ chmod -Rv +w .git
$ git add deploy.js 
fatal: Unable to write new index file

Hmm, parece que otra persona está usando el archivo index :

$ cp .git/index backup; mv backup .git/index
mv: rename backup to .git/index: Resource busy

Pero fuser y lsof no son de ninguna ayuda:

$ fuser -fu .git/index
.git/index: 
$ lsof .git/index

Solución extraña: si hago el siguiente comando en el servidor , me permite escribir un nuevo archivo index en el cliente sobre AFP.

$ cp .git/index backup; mv backup .git/index

Estoy totalmente perdido en este punto; ¿Alguna nueva teoría?

    
pregunta David Braun 26.11.2013 - 19:10

4 respuestas

2

Nos hemos encontrado con el mismo problema varias veces, especialmente cuando intentamos usar XCode 6. Actualmente, estoy cambiando mi conexión a nuestro servidor a WebDAV (conectándome a nuestro servidor a través de Finder > Go (barra de menú) > Conéctese al servidor ... > enlace ).

Esto está funcionando para nosotros (hasta ahora).

ACTUALIZACIÓN: Después de unos días, noté que un nuevo problema al usar WebDAV: los archivos desaparecerían de la vista en el Finder y causaría que XCode / Git pensara que el archivo había sido eliminado. Mirar el servidor mostró que los archivos todavía estaban allí.

Luego cambié mi tipo de conexión a SMB. Esto me ha funcionado bien: Git ya no encuentra errores de permisos de archivos, y Finder (OSX 10.10 Yosemite) no "pierde" archivos.

    
respondido por el Tim N. 02.03.2015 - 18:00
0

El error indica que no puede escribir en .git/index , lo que generalmente significa que tampoco puede escribir en .git .

Asegúrese de tener permiso para .git y aplique recursivamente dichos permisos al contenido de la carpeta y las subcarpetas, y a los nuevos archivos que se crean.

    
respondido por el grg 26.11.2013 - 19:18
0

Obtengo esto de forma intermitente y al escribir el estado de git en el host remoto, lo soluciono para mí.

    
respondido por el Sam Kington 18.02.2015 - 23:24
0

Aunque esta respuesta puede no satisfacer sus necesidades, Mercurial funciona en el volumen de AFP sin ningún problema .

Me he encontrado con el mismo problema. Git es mi VCS primario, sin embargo, en ese caso no tenía otra forma mejor que cambiar a Mercurial.

Afortunadamente, el cambio fue fácil, ya que ambas herramientas son muy similares en el ámbito del uso básico.

    
respondido por el kaorukobo 01.12.2018 - 09:51

Lea otras preguntas en las etiquetas