2014-04-20 113 views
4

我有問題推送到我的服務器哪些主機redmine和存儲庫。我有gitolite redmine插件redmine &最新的gitolite v3.5.x.當我克隆存儲庫,即Redmine - Git推送失敗[遠程拒絕]鉤拒絕

git clone [email protected]<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文件,然後我試圖推動這一回庫我得到以下

enter image description here

任何一個有什麼可以導致此問題?謝謝:)

更新:

我已經運行find/-path '*Gitolite/Hooks/Update.pm' -print 2>/dev/null是的文件確實存在。我還檢查了運行存儲庫的用戶'git'的文件權限,並且他擁有所有必需的權限。附圖。官方插件頁面 - - 理論解決問題的方法

enter image description here

但是搜索關於perl的

我發現THIS在github上沒有任何回報。我已經做了與此插入提示:

__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 

但仍然沒有成功...?

+0

這是[git'pre-recieve' hook]的一個不正確的安裝(http://git-scm.com/ book/en/Customizing-Git-Git-Hooks)。鉤子是用perl編寫的,有些perl模塊是缺少的 – user3159253

+0

@ user3159253我在服務器上安裝了所有的perl模塊,所以它不能丟失東西 –

+0

好吧,它清楚地說明了這一點。我建議檢查Gitolite/Hooks/Update.pm的存在(使用'find/-path'* Gitolite/Hooks/Update.pm'-print 2>/dev/null'),如果文件真的存在,檢查是否它駐留在目錄中,其中'perl'搜索模塊(從消息中複製'@ INC'),最後檢查模塊文件權限是否適合運行存儲庫的帳戶。 – user3159253

回答

0

好,StackOverflow的建議this solution

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

就在腳本的開始,先於其他userequire指令。但要記住!從上次我做了一些perl,實際上有一個十進制,所以你最好檢查兩次:)

+0

很酷的問題是我在哪個文件中將目錄放在.pm模塊中? –

+0

嗯,可能應該有.git/hooks/pre-receive在你的倉庫中 – user3159253

+0

不幸的是沒有 –

相關問題