Gitosis在推送配置更改后未更新服务器配置

4
我已经按照提供的教程设置了gitosis: http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way 然而,在添加适当的权限到gitosis.conf后,我发现我无法推送和创建新的存储库。我一直得到“读取访问被拒绝”的错误。最后,我查看了服务器上实际的存储库,它包含了我的更新的gitosis.conf文件。然而,当我检查位于gitosis用户主目录中的“.gitosis.conf”文件时,我发现它没有更新。一旦我用存储库中的内容替换了这个文件,我就能够轻松地创建和使用新的存储库了。
有人知道是什么原因造成的吗?我知道gitosis使用post-update hook来适当地更新服务器,所以我认为问题很可能出在那里。
谢谢! Bryan
5个回答

9
检查仓库中的post-update钩子权限。它必须是可执行的,而gitosis的发布版本并不能保证这一点。

1
我也是,也没能找到解决方案。 - Enrico Carlesso
我的post-update钩子实际上指向了一个不存在的python egg版本(在2.7安装中指向了2.6)。这个答案给了我提示,谢谢。(而且权限也不对)。 - rfay
@RandyFay:现在你真的不应该安装Gitosis了——它已经完全被抛弃了。Gitolite已经完全超越了它,并且得到了良好的支持。 - Phil Miller

3
我在Ubuntu 9.04上发现了这个问题。当我调查时,发现post-update钩子指向的路径/usr/share/python-support/gitosis/gitosis-0.2-py2.5.egg/gitosis/templates/admin/hooks/post-update已经不存在了。我确定它是通过某个更新包来的。
我在文件系统中搜索后发现,如果我将hooks/post-update指向/usr/share/python-support/gitosis/gitosis/templates/admin/hooks/post-update,就可以正常工作了。

我遇到了类似的错误,但是对于我来说,/usr/share/python-support/gitosis目录甚至不存在。 - cib

2
当我检查位于gitosis用户的主目录中的.gitosis.conf文件时,发现它没有更新。这真的很奇怪 - 在我的gitosis安装中,“gitosis”用户主目录中的.gitosis.conf是一个符号链接。你可能需要检查一下;也许gitosis认为存储库不在你认为的位置?另外,向你的配置文件添加一个类似这样的部分:
[gitosis]
loglevel = DEBUG

它可以帮助您解决许多与Gitosis相关的问题。


设置日志级别实际上是做什么?我已经尝试过了,但输出完全相同。 - sak
通常情况下,它会提供关于它认为自己正在尝试做什么的大量信息。你没有看到任何区别这一事实表明你可能有更深层次的问题。你可以在这里尝试提出更详细的问题。 - ebneter

0

我知道这很简短,但你可能只需要让后置钩子可执行...

sudo chmod 755 [你的代码库路径]/gitosis-admin/hooks/post-update


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接