新的gitorious安装 - 使用EOFError推送失败

时间:2012-05-10 14:55:21

标签: ruby git gitorious eoferror

我正在Ubuntu 11.04机器上部署Gitorious。 一切都有效,除了推动。

客户得到这个:

$ 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 个答案:

答案 0 :(得分:1)

事实证明问题是由错误的gitorious_client_host设置引起的,我将其天真地设置为localhost

然后在/lib/gitorious/ssh/client.rb:85中发生的事情是,gitorious尝试通过http://localhost/project/repo获取存储库配置,但是nginx服务器尚未配置为从localhost提供有用的应用程序。

两种可能的解决方案

  1. gitorious_client_host设置为您的公共主机名。
  2. 更改您的nginx或其他服务器配置,以便从localhost
  3. 提供服务

    但是,第二种解决方案可能会给其他应用程序带来麻烦。