当推送gitolite-admin时,Gitolite会给出错误消息:无法进行符号链接

时间:2011-08-13 08:59:43

标签: git gitolite

完整的错误消息是:

could not symlink /var/lib/gitolite/.gitolite/hooks/common/gitolite-hooked to subdir/myrepo.git/hooks

当我对gitolite-admin进行任何更改并推送这些更改时会发生这种情况。这些钩子是什么?我需要它们吗?符号链接有什么问题?

我已在$REPO_BASE中为我的存储库指定了另一个位置,但我使用chown命令使gitolite用户成为此路径的所有者和所有存储库,因此它不应该是权限问题。

3 个答案:

答案 0 :(得分:4)

好的,所以我发现了为什么会这样。可能是因为我是Git的菜鸟。我在$ REPO_BASE中放置了普通存储库的存储库,实际的源代码文件直接位于“根”目录下。

例如,/mnt/data/git/repositories/aproject/Main.cpp等等。事实证明我需要在该路径下拥有实际的存储库,所以我做了(我可能只是能够使用.git文件夹,但这就是我做的方式):git clone --bare aproject.git aproject.git2 && rm -rf aproject.git && mv aproject.git2 aproject.git

简而言之,我对存储库进行了彻底的克隆。所以现在,在/mnt/data/git/repositories/aproject/我们实际上可以找到“hooks”文件夹(错误消息抱怨它无法找到)。在新推出的gitolite-admin repo之后,所有密钥都被添加到authorized_keys并且错误消息消失了。

答案 1 :(得分:3)

我遇到了同样的错误,这是一个权限问题。

确保您的Project.git归Git用户所有,而不是root用户。

以为我会分享。

答案 2 :(得分:0)

这是一个权限问题(您说它不应该是)或chmod(访问)问题 为了更加确定,您可以使用两个目录的“ls -alrt”编辑您的问题 如果它在new repos declaration期间失败,它将继续尝试在每次新推动时声明它们。