Reputation: 623
Before i use gitlab 5.3 and all works fine.
Now i upgrade to gitlab 6.1 via 5.4 and 6.0 and now i can't push.
İnstallation check on server:
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: [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
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
When i try in my local machine:
GIT_SSH='ssh -v' git push -f http://mydomain.org/xxx/xxx.git master
The result is:
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 Use gitlab in debian 6.0.7 with apache
Where is the probleme?
Upvotes: 5
Views: 3642
Reputation: 11
I solved my problem as Ramazan said above vim /home/git/gitlab-shell/hooks/update change first line from
TO
Upvotes: 1
Reputation: 623
I solve my problem like this:
vim /home/git/gitlab-shell/hooks/update
change first line from
#!/usr/bin/env ruby
TO
#!/usr/local/bin/ruby
Now my push work fine!
Thinks VonC
Upvotes: 12
Reputation: 1326676
First, pushing with an http url means ssh isn't involved at all:
GIT_SSH
makes no difference. GIT_CURL_VERBOSE=1
would make a difference in the output of the git push
.Second, as illustrated by issue 3373, issue 2285, issue https://github.com/gitlabhq/gitlabhq/issues/3349, ... it is a ruby version issue.
I am 99% sure that you have 1.9.3 installed from RVM but you have also system ruby (check
/usr/bin/ruby --version
).
When you connect troughgit@gitlab
(ssh) - you are launching shell so rvm is being properly initialized and used and everything works but when you run through HTTP, gitlab is launchinggitlab-shell
directly and for some reasonrvm
doesn't work and the system version is used.
Upvotes: 2