2011-05-18 52 views
3

推送到共享库存在问题。共享存储库位于Windows服务器上。有问题的操作系统是Ubuntu 11.04。推送到共享存储库适用于OS X和Windows。如何解决git-samba-shared-repository-problem

这是我们得到了(使用“混帐推起源大师”后)的错误: 错误:无法创建临时文件名SHA1 ./objects/fb:

Ubuntu的用户可以创建和访问文件没有问题在Windows服务器。

任何提示?

+0

你是如何从ubuntu访问windows服务器的? SSH? SMB?智能HTTP?如果您尝试使用不同的访问方法(如果可能的话),会发生什么情况 – 2011-05-18 23:45:54

+0

@我们通过SMB安装了Windows文件夹并将其克隆到'〜/ .gvfs/server/Repository'有没有更好的方法来做到这一点? – b00tsy 2011-05-19 08:25:48

+0

你用什么参数在Windows服务器上创建共享库?更具体地说,当针对共享存储库运行时,“git config core.sharedRepository”的值是什么,以及..../sharedrepo/.git/objects和objects/fb(或任何封闭目录是什么) – 2011-05-19 09:10:34

回答

0

如果未设置core.sharedRepository,那几乎肯定是问题所在。运行你引用的命令对我来说工作正常。但是,将该值设置为true不会追溯解决以前不正确的操作。您将需要递归重置共享git存储库中的文件和目录的权限和组所有权。

我并不确定如何在Windows服务器上执行此操作,而不是最重要的,因为您没有确定Windows的版本。然而,在一个正常的shell提示符(和msysgit很可能提供对Windows中此命令),你可以cd到共享git仓库目录,然后运行:

chmod -R ug+rwX . 
chgrp -R groupname . 

显然,你需要选择有效的组名自己。另一种选择是将core.sharedRepository值更改为“all”,使用chmod -R a+rwX .修改权限,然后组设置无关紧要。