2016-04-12 15 views
5

Sto provando a eseguire il push locale su un repository condiviso su un'unità di rete. Sto ottenendo il seguente errore:Git Push to Network Drive: Impossibile caricare il file pack

:~/git push origin master 
Counting objects ... done 
Writing objects ... 
Total .... 

ma poi:

fatal: cannot pread pack file: No Permission 
error: unpack failed: index-pack abnormal exit 
To /networkshare/repo.git 
! [remote rejected] master -> master (n/a unpack error) 

I diritti sulla directory remota sono come questo:

:~/ls -all 
drwxr-xr-x ndbd MyGroup Date Repo.Git 

alcun indizio?

+0

Che sistema operativo stai usando, che tipo di condivisione della rete è questa, e quale versione git stai usando? – VonC

+0

git 1.7.9.5, il filesystem è montato come fuse.smbnetfs (cioè condivisione saba), client è Linux, Ubuntu 12.04 – ndbd

+0

Puoi verificare se il problema persiste con git 2.8.4 (per l'aggiornamento, vedi: http: // stackoverflow. COM/a/24847953/6309)? – VonC

risposta

3

Questo messaggio di errore viene fornito con builtin/index-pack.c#unpack_data.
Chiede wrapper.c#xpread che avvolge pread (man page)

If successful, the number of bytes actually read is returned.
Upon read-ing end-of-file, zero is returned.
Otherwise, a -1 is returned and the global variable errno is set to indicate the error.

Lo Stato autorizzazioni che solo l'utente ndbd ha il diritto di scrivere a quella cartella montata. Ma leggere dovrebbe funzionare.
È necessario verificare le autorizzazioni dello git packfiles create dall'operazione git push sull'unità di rete per verificare se si applicano gli stessi diritti.

Sono in /networkshare/repo.git/objects, /networkshare/repo.git/objects/info/packs e /networkshare/repo.git/objects/pack/pack-*.idx

Problemi correlati