Gitolite钩子 - post-receive似乎无法正常工作

3
我已经在我的仓库上配置了gitolite。我看到了2份钩子的副本,正如gitolite文献所述。我希望服务器端的后置接收钩子在有人向仓库推送代码时发送电子邮件。我正在使用git-notifier。然而,当我推送代码时没有任何反应。我修改了两份钩子的副本,并添加了一行创建临时文件的代码。但是,在我将更改推送到仓库后,没有临时文件出现,也没有发送电子邮件。非常感谢您的帮助。谢谢。

作为 gitolite 用户,验证所涉及的代码库中是否存在并可执行钩子。不要使用临时文件,只需回显输出 - 它将被转发回推送客户端。(而且一定要在非常顶部执行此操作。) - Cascabel
1
我已经为你的问题添加了git标签 - 直到你今天发布了不是问题的抱怨,我才看到它,因为它没有被正确地标记。我认为如果你花时间提出清晰的问题,并且有一点耐心,你会发现SO可以对你有很大的帮助 - 当然,这并不能替代阅读man手册、使用谷歌和自己尝试。 - Cascabel
1
我将我的touch命令更改为echo“inside post.receive hook”。我修改了主分支上的一个文件,提交并推送到origin/repo。我还验证了存储库中是否存在可执行的钩子。但仍然没有成功。 - user561638
意外地发现了我的问题的原因。我有到 /usr/local/share 的符号链接副本,这是默认设置的 gitolite 钩子。我改变了符号链接指向 /home/git/.gitolite/hooks/common/*,然后钩子就开始起作用了。我之所以弄清楚这一点,是因为一个新的分支库的符号链接指向了这里。当我从 gitosis 迁移到 gitolite 时,我所有其他的仓库都已经存在了。也许迁移文档或脚本需要改变来反映这一点呢? - user561638
你应该将这个作为你问题的答案发布并接受它 :) - asm
显示剩余2条评论
1个回答

1
你应该运行以下命令:
gitolite/src/gl-system-install
gl-setup

你唯一需要修改钩子的地方是在 gitolite/hooks/common。上述命令会负责更新所有存储库中的钩子。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接