【问题标题】:gitolite add repo specific post-receive hookgitolite 添加 repo 特定的 post-receive 钩子
【发布时间】:2016-01-16 19:11:40
【问题描述】:

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

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

在我的服务器上,我查找了最初不包含 %RC 块的 .gitolite.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,所以我很可能会遗漏一些明显的东西。有人有什么想法吗?

【问题讨论】:

    标签: git gitolite


    【解决方案1】:

    您正在使用 Gitolite V2.x。仅从 V3.6 起支持特定于 repo 的钩子。

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

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

    【讨论】:

    • 我很佩服你的侦探技巧:D
    • @dave 没那么难。我在 Gitolite 源代码中查找该错误消息,发现它仅在 V2.x 中。对于 Debian 部分,好吧...说实话,我几周前也犯了同样的错误 ;-)
    【解决方案2】:

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

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

    As documented:

    您始终可以通过运行gitolite print-default-rc 获取当前版本的默认副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 2014-05-13
      • 2014-10-28
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多