我们的网站开发公司有一个Linux服务器和一个Samba共享,员工用来开发网站。 在Samba共享上有许多目录作为web服务器的文档根(共享文件夹client / website.domain匹配http://some.website.local/ )。 每个项目都有Git或Subversionpipe理的存储库。 Windows和Mac客户端连接到Samba共享。 Windows机器在共享上没有问题。 Mac客户端,但是,有。
自从我们最近切换到Git,我开始注意到错误的模式。 有时,在Subversion中进行提交或更新时,SVN客户端会窒息并呈现相当模糊的错误。 工作副本将被locking,再次使用该工作副本的唯一方法是卸载并重新安装它。 只有这样我们才能运行svn清理工作,并使工作副本可以再次运行。
Git现在也发生同样的事情。 有时候,当有人拉动时,所有的文件都会被更新,但索引文件不能被写入。 因此,Git客户端认为从远程仓库中取得的更改实际上是由用户进行的未更改的更改,因为索引文件没有更新,所以认为它仍然反映了旧版本的仓库。
所以,SVN和Git都使用元数据(存储在.svn和.git中的文件)。 这些文件通常以某种方式被locking。 它从来没有发生与正常的文件。 我们已经在Linux机器上的smb.conf文件中尝试了许多关于oplocks和其他相关设置的设置,但仍然无济于事。 这是开始在这里开了我们一个小黑客。
有没有人有类似的经历? 到目前为止,我疯狂search,但没有发现任何东西。