gitolite 添加 repo specific post-receive hook

gitolite add repo specific post-receive hook

我正在尝试使用此文档为特定存储库添加 post-接收挂钩:http://gitolite.com/gitolite/cookbook.html

在我的 gitolite-admin 存储库中,我添加了 local/hooks/repo-specific/deploy(它现在只是尝试触摸一个文件)并在 conf/gitolite.conf.[=17= 中添加了行 option hook.post-receive = deploy ]

在我的服务器上,我查找了 .gitolite.rc,它最初不包含 %RC 块。 所以我试着只加一个:

%RC = (
    ENABLE => ['repo-specific-hooks'],
    LOCAL_CODE =>  "$rc{GL_ADMIN_BASE}/local"
);

在使用 hook 将更改推送到 repo 后,我收到此错误:

remote:                 ***** ABORTING *****
remote:         can't make head or tail of 'option hook.post-receive = deploy'

这是我第一次使用 gitolite,所以我很可能遗漏了一些明显的东西。有人有什么想法吗?

src/lib/Gitolite/Rc.pm#L501RC部分实际上是.gitolite.rc的内容。

意思是您不应添加 %RC 部分,而应直接添加这些条目。

As documented:

You can always get a default copy for your current version by running gitolite print-default-rc.

您正在使用 Gitolite V2.x。 Repo-specific 仅自 V3.6 起支持挂钩。

您使用的是 Debian 吗?然后,您可能从 apt 安装了 gitolite 包。这不是你想要的。版本 3(至少对于 Debian,Ubuntu 等)与软件包 gitolite3 一起安装。

这是因为V3与V2并不严格兼容。如果需要升级 Gitolite,http://gitolite.com/gitolite/migr.html.

有教程