Gitlab 6.1推送被拒绝/错误

时间:2013-10-18 23:01:16

标签: debian gitlab

在我使用gitlab 5.3之前,一切正常。

现在我通过5.4和6.0升级到gitlab 6.1,现在我无法推送。

服务器上的安装检查:

root@ks:/home/git/gitlab# sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

System information
System:     Debian 6.0.7
Current User:   git
Using RVM:  no
Ruby Version:   1.9.3p327
Gem Version:    2.1.8
Bundler Version:1.3.5
Rake Version:   10.1.0

GitLab information
Version:    6.1.0
Revision:   b595503
Directory:  /home/git/gitlab
DB Adapter: mysql2
URL:        http://git.gigadi.org
HTTP Clone URL: http://git.gigadi.org/some-project.git
SSH Clone URL:  git@git.gigadi.org:some-project.git
Using LDAP: no
Using Omniauth: no

GitLab Shell
Version:    1.7.1
Repositories:   /home/git/repositories/
Hooks:      /home/git/gitlab-shell/hooks/
Git:        /usr/bin/git



root@ks:/home/git/gitlab# sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
Checking Environment ...

Git configured for git user? ... yes
Has python2? ... yes
python2 is supported version? ... yes

Checking Environment ... Finished

Checking GitLab Shell ...

GitLab Shell version >= 1.7.1 ? ... OK (1.7.1)
Repo base directory exists? ... yes
Repo base directory is a symlink? ... no
Repo base owned by git:git? ... yes
Repo base access is drwxrws---? ... yes
update hook up-to-date? ... yes
update hooks in repos are links: ... 


Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... yes

Checking Sidekiq ... Finished

Checking GitLab ...

Database config exists? ... yes
Database is SQLite ... no
All migrations up? ... yes
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Init script exists? ... yes
Init script up-to-date? ... yes
projects have namespace: ... 

Projects have satellites? ... 

Redis version >= 2.0.0? ... yes
Your git bin path is "/usr/bin/git"
Git version >= 1.7.10 ? ... yes (1.8.3)

Checking GitLab ... Finished

当我在我的本地机器上尝试时:

GIT_SSH='ssh -v' git push -f http://mydomain.org/xxx/xxx.git master

结果是:

Counting objects: 154, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (135/135), done.
Writing objects: 100% (154/154), 184.75 KiB, done.
Total 154 (delta 22), reused 0 (delta 0)
remote: /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/dsl.rb:33:in `eval_gemfile': Gemfile syntax error: (Bundler::GemfileError)
remote: /home/git/gitlab/Gemfile:14: syntax error, unexpected ':', expecting $end
remote: gem "mysql2", group: :mysql
remote:                     ^
remote:     from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/dsl.rb:9:in `evaluate'
remote:     from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/definition.rb:19:in `build'
remote:     from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:148:in `definition'
remote:     from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:116:in `setup'
remote:     from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/setup.rb:17
remote: error: hook declined to update refs/heads/master
To http://mydomain.org/xxx/xxx.git
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'http://mydomain.org/xxx/xxx.git'

我在debian 6.0.7中使用gitlab和apache

问题出在哪里?

3 个答案:

答案 0 :(得分:12)

我这样解决了我的问题:

vim /home/git/gitlab-shell/hooks/update

更改第一行
#!/usr/bin/env ruby

#!/usr/local/bin/ruby

现在我的推动工作正常!

思考VonC

答案 1 :(得分:2)

首先,使用http url推送意味着根本不涉及ssh:

  • 设置GIT_SSH没有任何区别。
  • 设置 GIT_CURL_VERBOSE=1 会对git push的输出产生影响。

其次,如issue 3373issue 2285issue https://github.com/gitlabhq/gitlabhq/issues/3349所示,......这是一个红宝石版本问题。

  

我99%确定你从RVM安装了1.9.3,但你也有系统红宝石(检查/usr/bin/ruby --version)。   当您通过git@gitlab(ssh)连接时 - 您正在启动shell以便正确初始化和使用rvm并且一切正常但是当您通过HTTP运行时,gitlab会直接启动gitlab-shell并由于某种原因{{ 1}}不起作用,使用系统版本

答案 2 :(得分:1)

我解决了我的问题,正如拉马赞上面所说的那样 vim / home / git / gitlab-shell / hooks / update 从

改变第一行

!/ usr / bin / env ruby​​

!在/ usr / local / bin目录/红宝石