我正在尝试使用此文档为特定存储库添加post-receive挂钩:http://gitolite.com/gitolite/cookbook.html
在我的gitolite-admin repo中,我添加了local/hooks/repo-specific/deploy
(截至目前只是试图触摸文件),并在option hook.post-receive = deploy
中添加了行conf/gitolite.conf
。
在我的服务器上,我查找了.gitolite.rc,它最初不包含%RC块。 所以我试着添加一个:
%RC = (
ENABLE => ['repo-specific-hooks'],
LOCAL_CODE => "$rc{GL_ADMIN_BASE}/local"
);
使用钩子将更改推送到repo后,我收到此错误:
remote: ***** ABORTING *****
remote: can't make head or tail of 'option hook.post-receive = deploy'
这是我第一次使用gitolite,所以我很可能会遗漏一些明显的东西。有人有什么想法吗?
答案 0 :(得分:1)
src/lib/Gitolite/Rc.pm#L501
的RC
部分实际上是.gitolite.rc
的内容。
这意味着您不应该添加%RC
部分,而应直接添加这些条目。
您始终可以通过运行
gitolite print-default-rc
来获取当前版本的默认副本。
答案 1 :(得分:1)
您使用的是Gitolite V2.x.仅从V3.6开始支持Repo特定的挂钩。
你正在使用Debian吗?然后,您可能从apt安装了gitolite
包。这不是你想要的。使用包gitolite3
安装的版本3(至少对于Debian,Ubuntu等)。
这是因为V3与V2不严格兼容。如果你需要升级Gitolite,可以在http://gitolite.com/gitolite/migr.html上找到一个教程。