我在Gitolite的manual中发现的唯一一件事就是:
如果你想添加自己的钩子,只要不是它就很容易 '更新'钩子。只需将其添加到$ HOME / .gitolite / hooks / common并运行即可 gitolite setup。
但是,我还想跟踪对这些挂钩所做的更改,如果需要可以恢复到旧版本(审核功能cited是其中一个使用Gitolite的优点)。所以,基本上,我期待在我的gitolite-admin克隆中添加hooks
文件夹,然后将钩子推送到服务器(就像使用配置或添加公钥一样)。
这有意义吗?有可能吗?
答案 0 :(得分:4)
可以在gitolite-admin
回购(gitolite-admin/hooks/common
)中添加这些挂钩并推回Gitolite服务器。
所以他们是版本的。 (至少就是Gitolite V2的情况,我将不得不用Gitolite V3检查)
事实证明,它确实有效,但OP Rijk报告除外:
问题是我的conf中的错误,停止了安装程序 注释掉该行,并正确安装了触发器
我
gitolite.conf
中的这一行:
config hooks.showrev = "git log -1 --name-status --format='%%h (%%ad) ------------------------------%%n%%n%%B' %s".
不知道为什么,但触发了以下错误:
FATAL: bad value 'git log -1 --name-status --format='%%h (%%ad) ------------------------------%%n%%n%%B' %s'.
现在注释掉,稍后可能会重写
post-receive-email
脚本。
OP Rijk目前的解决方案:
我目前在Gitolite v3上的解决方案是:
- 将内容放入
gitolite-admin/local-code/hooks/common
- 然后在服务器上为
$HOME/.gitolite/hooks/common
中的相关项目添加完整路径符号链接。
答案 1 :(得分:3)
如果你看一下src / lib / Gitolite / Conf.pm中的代码,如果值中有一个UNSAFE_PATT字符串,你会发现它打印出“错误值”。
UNSAFE_PATT看起来像这样(在src / lib / Gitolite / Rc.pm中): $ UNSAFE_PATT = qr([`〜#\ $ \&()|;<>]);
问题是你使用括号(以及gitolite.conf中的简单解析)