【发布时间】: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://<redmine url>/sys/fetch_changesets?key=<your service key>"或直接在 Web 浏览器中访问 URL 并查看它是否会拉取变更集。 -
我试过了。它给了我一个空白页面,对我来说它正在工作(如果我将错误的 URL 放入服务密钥,我会在浏览器中收到一条错误消息),但我发现我的项目的存储库/修订视图没有任何区别。
-
空白页应该没问题,看来你的配置有问题。让我看看能不能找到解决办法。
标签: ruby-on-rails git redmine githooks gitolite