我正在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
我怎样才能推动工作?
最好,
鲁
答案 0 :(得分:1)
事实证明问题是由错误的gitorious_client_host
设置引起的,我将其天真地设置为localhost
。
然后在/lib/gitorious/ssh/client.rb:85
中发生的事情是,gitorious尝试通过http://localhost/project/repo
获取存储库配置,但是nginx服务器尚未配置为从localhost
提供有用的应用程序。
两种可能的解决方案:
gitorious_client_host
设置为您的公共主机名。localhost
。但是,第二种解决方案可能会给其他应用程序带来麻烦。