Gitolite钩子没有传播

时间:2011-04-12 12:14:30

标签: hook githooks gitolite

我一遍又一遍地浏览了大量的gitolite文档。这是我的配置:

Git用户运行gitolite,而我安装了Gitolite作为另一个具有root权限的用户。我使用gl-system-install方法安装。

现在,我看到两个钩子/公共目录/usr/local/share/gitolite/hooks/common/home/git/.gitolite/的副本(我打算与第一个一起用于系统范围的实现)

gitolite-source位于/home/user/gitolite-source

我在/home/user/gitolite-source/hooks/common/目录中添加了一些虚拟挂钩(post-udpate,post-update.secondary,post-receive和post-commit)。所有这些都有exec位设置。

如果我编辑此目录中的更新挂钩并再次重新运行安装程序,则较新的更新挂钩(在现有的存储库中)与/usr/local/share/gitolite/hooks/common中的更新挂钩进行sym链接。

但即使source / hooks / common目录中的任何新钩子都被复制到两个钩子位置,新的sym-links也不会出现在我现有的仓库中。

简而言之:gitolite复制自己的钩子,但忽略了我的。

知道为什么吗?

1 个答案:

答案 0 :(得分:1)

我自己想出了答案。

我一遍又一遍地重新运行gl-system-setup,希望在每个存储库下为我创建这些sym链接,而gl-setup就是这样做的。

但重新运行gl-setup也不起作用。 (它给出了奇怪的解析错误)。所以我决定删除所有gitolite-hooked的sentinel文件,然后推送更新到gitolite-admin repo,如果找不到gitolite-hooked文件,它会复制挂钩。