我的Git存储库位于AFS共享上。 Linux服务器上的所有正在运行的进程都有权在此AFS共享上写入文件和目录的掩码。
Git通过Git Smart HTTP与Apache和git-http-backend提供。
我遇到的问题是,当我尝试从客户端推送到主服务器时,我必须重复操作3到4次,直到它工作。在Apache服务器端,我看到了这些错误:
致命:未能写对象 错误:将对象添加到存储库数据库的权限不足./objects
在客户端,我有这个错误:
错误:解包失败:unpack-objects异常退出
我不明白为什么它会在3/4次之后工作,因为文件夹上的权利之间不会改变。
有任何线索吗?
谢谢!
吉勒
PS:客户端上的Git版本是git-1.7.3.4-3.6,服务器上的版本是git-1.7.4.1
答案 0 :(得分:0)
为什么它会在3/4次之后工作,因为文件夹中的权限之间不会发生变化。
可能是因为它与权限无关。更有可能的是,通过存储在AFS共享上可以实现一种竞争条件。你最好的赌注是
我在we first started out optimizing small writes时看到这样的问题出现在ZFS-fuse上(git做了非常准确和优化的统计更新;如果它不能立即回读,它将会失败)