【问题标题】:Redmine - Git push fails [remote rejected] hook declinedRedmine - Git 推送失败 [远程拒绝] 钩子被拒绝
【发布时间】:2014-06-04 23:46:55
【问题描述】:

我在推送到托管 redmine 和存储库的服务器时遇到问题。我确实有用于 redmine 和最新 gitolite v3.5.x 的 gitolite redmine 插件。当我克隆存储库时,即

git clone git@<ip address>:repositories/test-project-redmine.git 
// btw: i do get asked for password even though i have send my public key to redmine ?

这个存储库被克隆没有问题。当我创建一个简单的 readme.txt 文件然后我尝试将其推送回存储库时,我得到以下内容

任何人都可能导致这个问题?谢谢:)

更新:

我已经运行了find / -path '*Gitolite/Hooks/Update.pm' -print 2&gt;/dev/null,是的,这些文件确实存在。我还检查了运行存储库的用户'git' 的文件权限,他拥有所有必需的权限。附上图片。

但是搜索没有返回任何关于 perl 的内容

我在 github 上找到了THIS - 官方插件页面 - 问题的理论解决方案。我已经按照建议插入了这个:

__DATA__
#!/usr/bin/perl

BEGIN {
  exit 0 if exists $ENV{GL_BYPASS_UPDATE_HOOK};
}

use strict;
use warnings;
...

进入以下文件:

/<git user home dir>/bin/lib/Gitolite/Hooks/Update.pm
/<git user home dir>/gitolite/src/lib/Gitolite/Hooks/Update.pm
/<git user home dir>/.gitolite/hooks/common/update

但是仍然没有成功...?

【问题讨论】:

  • 这是git pre-recieve hook 在远程端的错误安装。该钩子是用 perl 编写的,并且缺少一些 perl 模块
  • @user3159253 我在服务器上有所有的 perl 模块,所以它不能缺少一些东西
  • 嗯,它说得很清楚。我建议检查 Gitolite/Hooks/Update.pm 的存在(使用find / -path '*Gitolite/Hooks/Update.pm' -print 2&gt;/dev/null),然后如果文件确实存在,检查它是否驻留在目录中,perl 在其中搜索模块(从消息中复制@INC ),最后检查模块文件权限是否适合运行存储库的帐户。
  • @user3159253 我已经检查并且文件存在 + 为运行存储库的用户设置了正确的权限。搜索返回 0 关于 perl。而且我不太明白应该在哪里复制 - 问题已编辑
  • 好吧,你可以检查钩子是否没有在 chrooted 或其他受限制的环境中执行。或者,更好的是,您可以将这个和其他必需的模块直接复制到挂钩目录中,保留结构(即&lt;hookdir&gt;/Gitolite/Hooks/Update.pm)。这当然是一个丑陋的解决方案,但可能会有所帮助

标签: git redmine githooks gitolite


【解决方案1】:

好吧,StackOverflow 建议this solution

use lib '/path/you/want/to/add';

就在脚本的开头,在其他 userequire 指令之前。但要记住!自从我上次做了一些 perl 以来,确实有一个十年,所以你最好检查两次 :)

【讨论】:

  • 酷问题是我将目录放在哪个文件中 .pm 模块?
  • 嗯,你的存储库中可能应该有 .git/hooks/pre-receive
  • 很遗憾没有
  • 好的,所以我收到此错误的原因似乎是因为我克隆了省略 gitolite 的存储库 - 当我尝试推回它时会引发此错误。根据规范,我应该使用 git@: 但这会返回'致命:repo 似乎不是 git 存储库,'致命:无法从远程存储库读取..'...请让确保您拥有正确的访问权限..
猜你喜欢
  • 2019-05-31
  • 2012-05-12
  • 2020-03-12
  • 2012-08-25
  • 2011-10-17
  • 1970-01-01
  • 2017-03-01
  • 2013-01-17
  • 2013-09-01
相关资源
最近更新 更多