Hi,

I have a pre-receive hook that calls puppet parser to check the changes 
before putting them to the master. Everything work ok when pushing from a 
cloned repo but when I try to commit changes on Gitlab's online editor I 
get the following:

To /var/opt/gitlab/git-data/repositories/automation/scm.git
 ! [remote rejected] production -> production (pre-receive hook declined)
error: failed to push some refs to 
'/var/opt/gitlab/git-data/repositories/automation/scm.git'

November 25, 2014 14:00 -> ERROR -> Command failed [1]: /opt/gitlab/embedded
/bin/git --git-dir=/var/opt/gitlab/git-data/gitlab-satellites/automation/scm
/.git push origin production

remote: ud000189        
remote: git        
remote: RubyGems Environment: - RUBYGEMS VERSION: 1.8.24 - RUBY VERSION: 1.9
.3 (2013-11-22 patchlevel 484) [x86_64-linux] - INSTALLATION DIRECTORY: 
/opt/gitlab/embedded/service/gem/ruby/1.9.1 - RUBY EXECUTABLE: /opt/gitlab/
embedded/bin/ruby - EXECUTABLE DIRECTORY: /opt/gitlab/embedded/service/gem/
ruby/1.9.1/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - 
/opt/gitlab/embedded/service/gem/ruby/1.9.1 - GEM CONFIGURATION: - 
:update_sources 
=> true - :verbose => true - :benchmark => false - :backtrace => false - 
:bulk_threshold 
=> 1000 - REMOTE SOURCES: - http://rubygems.org/        
remote: /opt/gitlab/embedded/lib/ruby/gems/1.9.1        
remote: /opt/gitlab/embedded/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/
bundler/dsl.rb:33:in `eval_gemfile': Gemfile syntax error: 
(Bundler::GemfileError)        
remote: /opt/gitlab/embedded/service/gitlab-rails/Gemfile:20: syntax error, 
unexpected ':', expecting $end        
remote: gem "mysql2", group: :mysql        
remote:                     ^        
remote:     from 
/opt/gitlab/embedded/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/dsl.rb:9:in
 
`evaluate'        
remote:     from 
/opt/gitlab/embedded/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/definition.rb:26:in
 
`build'        
remote:     from /opt/gitlab/embedded/lib/ruby/gems/1.9.1/gems/bundler-1.5.3
/lib/bundler.rb:152:in `definition'        
remote:     from 
/opt/gitlab/embedded/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler.rb:115:in
 
`setup'        
remote:     from 
/opt/gitlab/embedded/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/setup.rb:17
 
       
To /var/opt/gitlab/git-data/repositories/automation/scm.git
 ! [remote rejected] production -> production (pre-receive hook declined)
error: failed to push some refs to '/var/opt/gitlab/git-data/repositories/
automation/scm.git'


What I noticed is that the RubyGems Environment is different if the commit 
is performed on the web ui editor (resulting in the above) and a push to 
origin from the cloned repo (Rubygem env output below)

 RubyGems Environment: - RUBYGEMS VERSION: 1.8.24 - RUBY VERSION: 1.9.3 (
2013-11-22 patchlevel 484) [x86_64-linux] - INSTALLATION DIRECTORY: /opt/
gitlab/embedded/lib/ruby/gems/1.9.1 - RUBY EXECUTABLE: /opthe reason I'm 
asking is because we have pre-receive git hooks which are using 
                     different gem env values depending on which user/shell 
the hook is executedt/gitlab/embedded/bin/ruby - EXECUTABLE DIRECTORY: /opt/
gitlab/embedded/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: 
- /opt/gitlab/embedded/lib/ruby/gems/1.9.1 - /.gem/ruby/1.9.1 - GEM 
CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => 
false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - 
http://rubygems.org/

Is there anything I can do to force the valid RubyGems Environment when the 
pre-receive hook is ran regardless if changes are commited from the web ui 
or by pushing using an external git client?

Thanks in advance,

Daniel

-- 
You received this message because you are subscribed to the Google Groups 
"GitLab" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/gitlabhq/b777e395-4d29-420c-906d-3d61bfd41a24%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to