为Redmine设置git commit hook

问题描述:

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

我有Redmine设置,并使用Gi​​tolite作为Git仓库管理器。此外,我使用ericpaulbishop/redmine_git_hosting插件来帮助在注册新项目时自动将公共ssh密钥推送到Gitolite并自动创建回购库。除了项目中的回购视图没有跟踪变更集之外,一切似乎都奏效。 (“历史”只是空的,虽然当你查看这些文件时,它确实显示了最新版本)

我将post-receive钩子从插件的contrib目录复制到.gitolite/common钩子,但又一次我对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那样沟通预计,等...

+0

如果你在Linux上,你可以尝试运行该命令,它可以让你将命令与任何git问题隔离开来。为什么不运行curl http:// /sys/fetch_changesets?key = “ ”或者只需访问您的Web浏览器中的URL并查看它是否拉取变更集。 – 2012-01-17 15:31:51

+0

我试过了。它给了我一个空白页面,对我来说它正在工作(如果我把错误的URL放到服务密钥中,我会在浏览器中看到一条错误消息),但是我看到我的项目的repository/revisions视图没有区别。 – Lncn 2012-01-17 15:46:51

+0

那么空白页应该没有问题,看起来你的配置有问题。让我看看我能否找到解决方案。 – 2012-01-17 17:03:14

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

我查了Github上页下的问题,我发现这:

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

这是相当多正是我的问题。这似乎是插件中的一个小错误,但您可以通过将最大缓存时间更改为“1分钟或直到下一次提交”来解决该问题。这立即解决了我的问题。我只是这样离开它,但其中一个海报声称,你可以改回它,直到下一次提交,并从那时起工作...