2012-05-10 51 views
1

我在Ubuntu 11.04機器上部署Gitorious。 一切工作,除了推。新鮮gitorious安裝 - 推EOFError失敗

客戶端獲得此:

$ git push origin master 

== Gitorious: 
========================================================== 
fatal error 
======================================================================== 

fatal: The remote end hung up unexpectedly 

而服務器這顯示在gitorious_auth.log

I, [2012-05-08 18:40:45#7589] INFO -- : Connection from "12.34.56.78 
50393 22" (admin): git-receive-pack 'test/test.git' 
F, [2012-05-08 18:40:45#7589] FATAL -- : EOFError end of file 
reached: /usr/lib/ruby/1.8/net/protocol.rb:135:in `sysread' 
    /usr/lib/ruby/1.8/net/protocol.rb:135:in `rbuf_fill' 
    /usr/lib/ruby/1.8/timeout.rb:67:in `timeout' 
    /usr/lib/ruby/1.8/timeout.rb:101:in `timeout' 
    /usr/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill' 
    /usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil' 
    /usr/lib/ruby/1.8/net/protocol.rb:126:in `readline' 
    /usr/lib/ruby/1.8/net/http.rb:2028:in `read_status_line' 
    /usr/lib/ruby/1.8/net/http.rb:2017:in `read_new' 
    /usr/lib/ruby/1.8/net/http.rb:1051:in `request' 
    /usr/lib/ruby/1.8/net/http.rb:772:in `get' 
    /var/www/gitorious/script/../lib/gitorious/ssh/client.rb:85:in 
`configuration' 
    /var/www/gitorious/script/../lib/gitorious/ssh/client.rb:59:in 
`real_path' 
    /var/www/gitorious/script/../lib/gitorious/ssh/client.rb:73:in 
`to_git_shell_argument' 
    /usr/bin/gitorious:60 

我怎樣才能使推動工作?

最佳,

回答

1

原來的問題是由一個錯誤的gitorious_client_host設置,我曾天真地設置爲localhost引起的。

然後發生了什麼事在/lib/gitorious/ssh/client.rb:85是gitorious試圖通過http://localhost/project/repo來獲取倉庫的配置,但nginx的服務器沒有被配置爲從localhost服務gitorious應用。

兩個可能的解決方案

  1. gitorious_client_host設置到您的公共gitorious主機名。
  2. 更改您的nginx或其他服務器配置也可以從localhost提供有價值的服務。

但是,第二個解決方案可能會導致其他應用程序出現問題。