【发布时间】:2017-09-15 14:48:01
【问题描述】:
我在 samba 共享服务器上有一个裸 git repo,我的团队可以推送到该服务器,但是当我尝试推送时出现错误:
remote: fatal: sha1 file './objects/pack/tmp_pack_<changes-with-every-push>' write error: Operation not supported
error: unpack failed: index-pack abnormal exit
To /run/user/1000/gvfs/smb-share:server=<ip-address>,share=<share>/<directory>/<bare.git>
! [remote rejected] <my-branch> -> <my-remote-branch> (unpacker error)
这是我尝试过的列表:
- 我将裸存储库从服务器复制到我的机器上,并且能够推送到该存储库(bare.git 存储库就可以了)
- 我在服务器上制作了一个裸仓库的副本(并作为第二个远程添加),但是当我推送到它时出现相同的错误消息(所以与 samba 共享有关?)
- 我将另一个裸仓库副本放到 USB 上,成功推送到它,我的团队成员能够将我的分支拉到他的本地仓库并从那里通过 samba 成功推送到服务器(所以也许它不是桑巴舞)
- 然后我从 stable 创建了一个新分支,并且能够从那里推送一个文本文件(因此 git 将接受一个文本文件提交,但不是全部来自我的工作分支,但它不能是我的提交作为我的同事能够从他的机器上推送我的分支)
- 我已经使用 prune 和积极标志运行 gc 并且 git fsck 返回没有问题
- 我已经重新安装了 smbclient 和 git 都没有成功。
“操作不支持”错误让我认为服务器端存在一些系统调用问题导致 git 返回错误。
我之前没有找到遇到过这个问题的人。有什么想法吗?
【问题讨论】:
-
你对包含远程的目录子树有写权限吗?
-
我之前已经能够推送,如上所述,我能够在新分支上推送单个文本文件,所以是的,我希望这意味着我有写权限。此外,当我导航到该目录时,我拥有完整的读取、写入和执行权限。