我正试图从v2迁移到gitolite的v3。执行服务器端提交消息检查的旧方法是将检查放入myrepo.git / hooks / update.secondary中的repo特定挂钩
在gitolite v3中,他们建议将支票放入VREF。文档有点混乱,我希望澄清。
我在/home/git/.gitolite.rc
中添加了以下内容LOCAL_CODE => "$ENV{HOME}/.gitolite/our_hooks",
在my_hooks目录中,我创建了一个VREF文件夹,并将旧的update.secondary脚本放在那里。在我的gitolite-admin / conf / gitolite.conf文件中,我将以下内容添加到我希望脚本执行的存储库中:
repo myrepo
RW = @my_developers
- VREF/update.secondary = @my_developers
当我尝试推送时,我注意到无法找到VREF / update.secondary。如果我改为
repo myrepo
RW = @my_developers
- /home/git/.gitolite/our_hooks/VREF/update.secondary = @my_developers
我没有得到任何投诉,但钩子似乎根本没有。
我是否错过了如何使用gitolite进行额外的更新检查?
答案 0 :(得分:4)
围绕这个的文档有点令人困惑,所以希望这将有助于其他人尝试使用gitolite v3进行链式更新。
我上面所做的一切都是正确的,缺少的部分是我的更新。需要驻留的第二个脚本。
在gitolite-admin / conf / gitolite.conf中,配置应如下所示:
repo myrepo
RW = @my_developers
- VREF/update.secondary = @my_developers
然后GL_BINDIR目录中有一个VREF目录。将可执行文件update.secondary文件放在该目录中。
GL_BINDIR是包含您运行的gitolite二进制文件的目录:gitolite setup
答案 1 :(得分:0)
要添加到(已投票)OP nathasm的answer,我在LOCAL_CODE
文件中使用.gitolite.rc
变量没有问题,如“ “customising gitolite”的备用位置。
但是,我从未设法使用环境变量。
换句话说,这不起作用:
LOCAL_CODE => "$ENV{HOME}/.gitolite/our_hooks",
但这会:
LOCAL_CODE => "/home/git/.gitolite/our_hooks",
使用完整路径意味着将识别/home/git/.gitolite/our_hooks/VREF中声明的任何VREF或钩子
repo myrepo
RW = @my_developers
- VREF/update.secondary = @my_developers