我也见过这个。这是一个git缺陷,可能与它如何创建和修改文件有关。为了澄清这个问题:
# 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.
在Git版本1.5.6.5(最新Debian软件包),当您尝试git-add
得到错误。如果你安装了git 1.7.3.2(最新版本),你可以添加这个文件,但是当你尝试提交时你会得到错误。
什么桑巴配置文件的样子,并且是用户一样什么混帐期待? – dkinzer 2010-11-01 14:40:27
这个问题刚刚开始发生在我身上!我将msysGit更新为v1.7.6.msysgit.0,但通过samba共享连接的服务器上有v1.7.2.1。 1.我不知道我之前有哪个msysGit来恢复测试。 2.升级服务器版本以查看是否有帮助。 – 2011-07-20 10:13:58
好的,这没有帮助。运行在我的服务器上的v1.7.2.1。当我开始使用PortableGit进行其他操作时,这一切都开始发生,而且它也发生了! – 2011-07-20 10:40:56