tipos - ¿qué herramienta podemos hacer para tener un mayor control de nuestros proyecto en github?
Git sobre samba-no se puede escribir el nombre de archivo sha1 | Permiso denegado (7)
¿Probablemente samba bloquea los archivos punto? ¿Por qué no usar ssh en lugar de samba para empujar?
Cuando utilizo git sobre samba share en windows me sale un error cuando quiero enviar un archivo a través de git_extentions o tortoiseGIT. El error es: error: no se puede escribir el nombre de archivo sha1 .git / objects / b4 / e819f886bf31b67c42249a0eff8e8b16cf7622: Permiso denegado Cuando agrego el archivo a través del servidor ubuntu y confirmo el archivo, funciona bien. También estoy trabajando en una banrch.
Ya intenté chmod 777 toda la carpeta .git.
Yo también he visto esto. Es un defecto de Git, probablemente relacionado con la forma en que crea y modifica los archivos. Para aclarar el problema:
# mount a samba share locally.
$ mount -t cifs options //share/project /mnt/project
# The share contains a git checkout.
# Do some typical development.
$ cd /mnt/project
$ vi file ## ok
$ git pull ## ok
$ git status ## ok
$ git add file ## error!
error: unable to create temporary sha1 filename
.git/objects/8b/tmp_obj_mYE1Xi: Permission denied
## But everything from the shell seems to work.
$ ls -latr .git/objects/8b/ ## ok. empty dir.
$ touch .git/objects/8b/tmp_obj_mYE1Xi ## ok.
$ echo test123> .git/objects/8b/tmp_obj_mYE1Xi ## ok.
$ cat .git/objects/8b/tmp_obj_mYE1Xi ## ok.
test123
$ rm .git/objects/8b/tmp_obj_mYE1Xi ## ok.
En la versión 1.5.6.5 de git (último paquete de Debian), aparece el error cuando intentas git-add
. Si instala git 1.7.3.2 (última versión), puede agregar el archivo, pero recibirá el error cuando intente realizar la confirmación.
Este problema se ha visto anteriormente de alguna forma u otra para las instalaciones de Git / Samba. No estoy seguro si la fuente del problema ha sido apuntada aún:
http://code.google.com/p/msysgit/issues/detail?id=130#makechanges
Actualizar:
parece que git v. 1.7.3.3 ha resuelto este problema.
Ok, he encontrado una solución que funcionó para mí.
He estado usando git sobre samba (samba-common-3.0.33-3.7.el5) durante años sin problemas.
Actualicé git a Git-1.7.6-preview20110708 , ¡y todo se fue a la olla!
Como soy un desarrollador tan metódico, ¡no escribí lo que actualicé!
Así que revisé la lista de versiones anteriores y vi una estrella junto a Git-1.7.0.2-preview20100309 , por lo que era un poco vieja, pero póngala ... y bang ... ¡funciona!
comenzamos a usar git hoy. la versión 1.7.10 estaba bien para máquinas win7. en WinXP ocurrimos el error dado. para esas máquinas degradamos a 1.7.0.2 como Ian declaró en su publicación y funciona ahora.
En mi caso, fue el software antivirus en Windows que bloqueó el archivo (s). Deshabilitar temporalmente el antivirus solucionó el problema.
Respondí esta pregunta aquí también
En mi caso, parece que Git (v 2.6.3) intentó crear sus propios permisos de lectura / escritura en la unidad Samba. Esto evitaría que se escriban los archivos y / u objetos del paquete (error de desempaquetado)
remote: error: unable to write sha1 filename ./objects/pack/pack-<some_hex_string>.pack: Permission denied
remote: fatal: cannot store pack file
error: unpack failed: index-pack abnormal exit
To z:/git/<repo name>
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs
Estuve yendo y viniendo tratando de arreglarlo. Finalmente, como tenía el control de la máquina Samba, agregué una línea a la configuración de unidad de samba, que dice "heredar permisos = sí". Reinicié Samba e intenté empujar. ¡Funcionó!
Esto funcionó para mí ya que soy la única persona que usa el servidor de Samba. Para otros, puede jugar con "modo de directorio de fuerza" o "modo de crear fuerza". Puede encontrar las páginas man para los que están aquí:
https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/AccessControls.html