完整的错误消息是:
could not symlink /var/lib/gitolite/.gitolite/hooks/common/gitolite-hooked to subdir/myrepo.git/hooks当我对gitolite-admin进行任何更改并推送这些更改时,就会发生这种情况。这些钩子是用来做什么的?我需要它们吗?符号链接有什么问题?
我已经在$REPO_BASE中为我的存储库指定了另一个位置,但是我使用chown命令让gitolite用户成为这个路径和所有存储库的所有者,所以这不应该是一个权限问题。
发布于 2011-08-14 17:05:46
好了,我找到了为什么会发生这种情况。可能是因为我是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存储库之后,所有密钥都被添加到authorized_keys中,错误消息消失。
发布于 2012-04-04 13:52:53
我也遇到了同样的错误,这是一个权限问题。
确保您的Project.git属于Git用户,而不是超级用户。
我想和大家分享一下。
发布于 2011-08-13 21:08:29
这要么是权限问题(您说它不应该是),要么是chmod (访问)问题。
为了更加确定,您可以使用这两个目录的"ls -alrt“编辑您的问题。
如果在new repos declaration期间失败,它将继续尝试在每次新推送时声明它们。
https://stackoverflow.com/questions/7049484
复制相似问题