我正试图从v2迁移到gitolite的v3.执行服务器端提交消息检查的旧方法是将检查放在myrepo.git/hooks/update.secondary中的repo特定挂钩中.
在gitolite v3中,他们建议将支票放入VREF.文档有点混乱,我希望澄清.
我在/home/git/.gitolite.rc中添加了以下内容
LOCAL_CODE => "$ENV{HOME}/.gitolite/our_hooks",
Run Code Online (Sandbox Code Playgroud)
在my_hooks目录中,我创建了一个VREF文件夹,并将旧的update.secondary脚本放在那里.在我的gitolite-admin/conf/gitolite.conf文件中,我将以下内容添加到我希望脚本执行的存储库中:
repo myrepo
RW = @my_developers
- VREF/update.secondary = @my_developers
Run Code Online (Sandbox Code Playgroud)
当我尝试推送时,我注意到无法找到VREF/update.secondary.如果我换到
repo myrepo
RW = @my_developers
- /home/git/.gitolite/our_hooks/VREF/update.secondary = @my_developers
Run Code Online (Sandbox Code Playgroud)
我没有得到任何投诉,但钩子似乎根本没有运行.
我是否错过了如何使用gitolite进行额外的更新检查?
与此相关的文档有点令人困惑,因此希望这能帮助其他人尝试使用 gitolite v3 获得链式更新挂钩。
我上面所做的一切都是正确的,缺少的部分是我的 update.secondary 脚本需要驻留。
在 gitolite-admin/conf/gitolite.conf 中,配置应如下所示:
repo myrepo
RW = @my_developers
- VREF/update.secondary = @my_developers
Run Code Online (Sandbox Code Playgroud)
然后GL_BINDIR目录下有一个VREF目录。将可执行 update.secondary 文件放入该目录中。
GL_BINDIR 是包含您运行的 gitolite 二进制文件的目录:gitolite setup