【问题标题】:Setting up git commit hook for Redmine为 Redmine 设置 git commit hook
【发布时间】:2012-01-17 15:23:29
【问题描述】:

我正在尝试将办公室的设置从 SVN 迁移到 Git,并将 Redmine 设置为我们的项目和问题管理的主机(目前我们使用 Gforge + SVN 的版本)。我应该先说我白天是一名嵌入式 C 软件开发人员,对 Rails 或 Web 应用程序的经验基本上为零,但我喜欢尝试新事物,所以我自愿设置项目管理工具,这些工具将带我们走向未来.

我安装了 Redmine,并使用 Gitolite 作为 Git 存储库管理器。此外,我正在使用ericpaulbishop/redmine_git_hosting 插件来促进自动将公共 ssh 密钥推送到 Gitolite 并在我们注册新项目时自动创建 repo。除了项目中的 repo 视图没有跟踪变更集之外,一切似乎都正常工作。 (“历史”只是空的,尽管当您查看文件时,它确实正确显示了最新版本)

我将 post-receive 钩子从插件的 contrib 目录复制到 .gitolite/ 通用钩子,但我对 Ruby 以及这些 gitolite 钩子如何工作知之甚少,所以我不知道如何调试它。我注意到钩子中有日志消息和东西,但我不知道这些是在哪里打印的,等等......

我什至尝试了 Redmine wiki 上的 Howto,HowTo setup automatic refresh of repositories in Redmine on commit

#!/bin/sh

curl "http://<redmine url>/sys/fetch_changesets?key=<your service key>"

关于我从哪里开始调试有什么想法吗?到目前为止,我已经能够解决所有问题,但我现在有点卡住了。该插件并没有明确说明它应该如何工作,老实说,我什至不确定这是否是 Redmine 没有正确(或根本)读取 repo 的问题,或者 gitolite 没有作为 Redmine 进行通信期望等...

【问题讨论】:

  • 如果您在 Linux 上,您可以尝试运行该命令,它可以让您将命令与任何 git 问题隔离开来。为什么不运行 curl "http://&lt;redmine url&gt;/sys/fetch_changesets?key=&lt;your service key&gt;" 或直接在 Web 浏览器中访问 URL 并查看它是否会拉取变更集。
  • 我试过了。它给了我一个空白页面,对我来说它正在工作(如果我将错误的 URL 放入服务密钥,我会在浏览器中收到一条错误消息),但我发现我的项目的存储库/修订视图没有任何区别。
  • 空白页应该没问题,看来你的配置有问题。让我看看能不能找到解决办法。

标签: ruby-on-rails git redmine githooks gitolite


【解决方案1】:

我想我可以回答这个......

我检查了 Github 页面下的问题,并在以下位置找到了这个:

https://github.com/ericpaulbishop/redmine_git_hosting/issues/89

这几乎正是我的问题。这似乎是插件中的一个小错误,但您可以通过将 Max Cache Time 更改为“1 分钟或直到下一次提交”来解决它。这立即解决了我的问题。我只是这样离开它,但其中一位海报声称您可以将其更改回直到下一次提交,并且从那时起它就可以工作......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2016-12-28
    • 2016-07-11
    相关资源
    最近更新 更多