2013-04-01 168 views
2

我有服务器gitolite旁边配置混帐推错误消息

@developers = john bill 

repo gitolite-admin 
     RW+  = admin 

repo main-project 
     RW+CD  = admin 
     R master$  = @developers 
     RW+ develop$ = @developers 

和所有@developers可以看到下一个错误消息,当他们这样做git push

$ git push origin develop 
Counting objects: 117, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (88/88), done. 
Writing objects: 100% (93/93), 400.94 KiB 
Total 93 (delta 17), reused 0 (delta 0) 
error: Unable to append to ./logs/HEAD: P 
To ssh://[email protected]/project 
  ed683c3..b27b683  develop -> develop 

我怎么能解决呢?

+1

您是否检查文件'.git/logs/HEAD'的权限和所有者? – niculare

+0

@niculare本地或远程? – user1016265

+0

由于问题在您推送时出现,我怀疑远程存在问题。 – niculare

回答

1

请注意,this thread提到了该“Unable to append to ./logs/HEAD”错误消息来自远程回购的共享特性的可能性。
被不同用户ID访问的共享含义,不仅仅是不同的人使用同一个git帐户。

在这种情况下:

  • 设置core.sharedRepository在该回购的GIT中本地配置true(在gitolite服务器上的裸回购)会有帮助,
  • 以及固定式权限手动在至少在logs/HEAD:线程提到“所有文件& dirs在${repo}.git下应归该组所有,+rw为组”,但这可能不是一个好例子。
    在“Redmine + Gitolite - Issue with repository permissions and more”处查看更完整的示例。