2013-10-18 4 views
5

Bevor ich gitlab 5.3 benutze und alles funktioniert gut.Gitlab 6.1 push Abgelehnt/Fehler

Jetzt Upgrade ich auf gitlab 6.1 über 5.4 und 6.0 und jetzt kann ich nicht drücken.

Einbaukontrolle auf dem Server:

[email protected]:/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: [email protected]: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 



[email protected]:/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 

Wenn ich versuche, in meinem lokalen Rechner:

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

Das Ergebnis ist:

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' 

i Verwenden Gitlab in debian 6.0.7 mit Apache

Wo ist das Problem?

Antwort

12

ich mein Problem lösen wie folgt aus:

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

erste Änderungslinie von

#!/usr/bin/env ruby 

TO

#!/usr/local/bin/ruby 

Jetzt fein meine Push-Arbeit!

Thinks VonC

+0

Große Resonanz.+1 – VonC

+0

yeah Mann, arbeitete auch für mich! – soupdiver

+0

danke für den Hinweis. Ich benutze RVM für git, um ein separates Ruby env zu haben. Mein Hashbang ist '#!/Home/git/.rvm/rubies/ruby-2.1.1/bin/ruby' – stwienert

2

Zuerst mit einer HTTP-URL schieben bedeutet ssh nicht beteiligt ist:

  • Einstellung GIT_SSH macht keinen Unterschied.
  • Einstellung GIT_CURL_VERBOSE=1 würde einen Unterschied in der Ausgabe des git push machen.

Zweitens, wie durch issue 3373 dargestellt, issue 2285, issue https://github.com/gitlabhq/gitlabhq/issues/3349, ... es ist ein Problem Ruby-Version.

Ich bin 99% sicher, dass Sie 1.9.3 von RVM installiert haben, aber Sie haben auch System Ruby (überprüfen Sie /usr/bin/ruby --version).
Wenn Sie Trog [email protected] (ssh) verbinden - Sie starten Shell so rvm richtig initialisiert und verwendet wird und alles funktioniert, aber wenn man über HTTP ausführen, wird Gitlab gitlab-shell direkt und aus irgendeinem Grund startet rvm und nicht funktioniert das Systemversion wird verwendet.

1

ich mein Problem gelöst, wie sie sagte Ramazan oben vim/home/git/Gitlab-shell/Haken/update von

erste Zeile ändern!/Usr/bin/env ruby ​​

ZU

!/usr/local/bin/ruby ​​