8

由于我的免费帐户在GitHub上的空间不足(是的,我正在考虑升级),我正在 Gitorious 上设置新的git存储库(另请参阅GitHub 与 Gitorious)。GitHub 的一大特色是提交后挂钩,它允许我通知(也很棒的)CIA 网络......

但是,我一直无法找到 Gitorious 是否支持这样的钩子......所以,我想询问在 CIA 网络上为 Gitorious 托管的 git 存储库获取提交消息的最佳实践。

更新:使用辅助机制触发 CIA 提交消息的解决方案不是我想要的。

4

5 回答 5

5

Gitorious 正在获得 web hook 支持。它目前在 gitorious.org 上运行,但没有用于将它们添加到存储库的 UI;这样做的原因是,提交数据的 JSON 表示形式仍然可能会发生一两次更改,因此应该配置一个 beta 功能。

任何愿意编写集成代码(处理 gitorious 的网络挂钩请求)的人,请发送电子邮件至 gitorious.org 的支持人员,我们将为您的存储库设置集成

于 2010-03-08T07:35:48.097 回答
3

KDE 项目在那个线程中有一个类似的问题,还有一个有趣的替代方案:

它不必 gitorious.org机器上运行。至少,不适用于电子邮件/CIA/RSS/任何报告

这就是我们的旧git-p4钩子在办公室的工作方式:
p4 机器发送一个UDP带有修订号的数据包。另一台机器抓住了它并进行了导入。(该值被丢弃)

我们也可以这样做:

  • gitorious.org机器发送一个数据包,其中UDP包含已更改的分支及其新的SHA-1.
  • 另一台机器获取并生成提交日志。
    最坏的情况是有人因为UDP丢包而被遗忘。

就像我说的,这适用于报告——适用于任何由 post-receive钩子运行的东西。
对于任何需要pre-receive钩子的东西(实际上是pre-update,但 Git 中的名称是错误的),它必须在他们的服务器上运行。

于 2010-03-05T15:31:00.660 回答
2

我目前的解决方法是建立一个 loal 存储库(称为 CIA)并始终通过一个小 shell 脚本推送:

#!/bin/bash
set -e
git push origin master
git push cia master

在本地 CIA 存储库中,我安装了http://cia.vc/clients/git/ciabot.bash以向 CIA 发送电子邮件。

于 2009-12-20T16:46:44.597 回答
2

与其直接推送到 Gitorious,不如推送到您已配置的本地存储库(在其 post-receive 挂钩中)以将所有内容推送到您的 Gitorious 存储库并通知 CIA。

于 2010-03-06T11:30:37.683 回答
1

Gitorious 支持“Web Hooks”: http: //gitorious.org/gitorious/pages/WebHooks

这需要更多的努力,因为它需要您设置一个 Web 服务器来接收钩子 API 调用。

于 2011-12-14T16:02:22.107 回答