2016-04-12 13 views
5

nicht predigen Ich versuche, lokal zu einem freigegebenen Repo auf einem Netzlaufwerk zu drücken. Ich erhalte die folgende Fehlermeldung:Git Push auf Netzlaufwerk: Kann Pack-Datei

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

aber dann:

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) 

Die Rechte auf dem Remote-Verzeichnis sind wie folgt aus:

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

jeder Anhaltspunkt?

+0

Welches Betriebssystem verwenden Sie, was Sharing Art von Netzwerk ist dies, und welche git Version verwenden Sie? – VonC

+0

git 1.7.9.5, Dateisystem ist als fuse.smbnetfs (dh saba share) gemountet, Client ist Linux, Ubuntu 12.04 – ndbd

+0

Könnten Sie überprüfen, ob das Problem mit git 2.8.4 fortbesteht (Upgrade siehe: http: // stackoverflow. com/a/24847953/6309)? – VonC

Antwort

3

Diese Fehlermeldung kommt von builtin/index-pack.c#unpack_data.
Es ruft wrapper.c#xpread die 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.

Die Berechtigungen Zustand wickelt, die nur ndbd Benutzer das Recht auf Schreib zu diesem montiert Ordner. Aber lesen sollte funktionieren.
Sie müssen die Berechtigungen der git packfiles überprüfen, die von der Git-Push-Operation auf dem Netzlaufwerk erstellt wird, um festzustellen, ob die gleichen Rechte gelten.

Sie sind in /networkshare/repo.git/objects, /networkshare/repo.git/objects/info/packs und /networkshare/repo.git/objects/pack/pack-*.idx