Skip to content
Snippets Groups Projects
Commit 569a88a4 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

raise exception if gitolite is broken

parent 5c3fdfaa
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -15,7 +15,7 @@
%p
Diagnostic tool:
%pre
bundle exec rake gitlab:app:status RAILS_ENV=production
bundle exec rake gitlab:check RAILS_ENV=production
%li
%p
Permissions:
Loading
Loading
Loading
Loading
@@ -6,6 +6,7 @@ module Gitlab
class GitoliteConfig
class PullError < StandardError; end
class PushError < StandardError; end
class BrokenGitolite < StandardError; end
 
attr_reader :config_tmp_dir, :ga_repo, :conf
 
Loading
Loading
@@ -72,6 +73,10 @@ module Gitlab
log("Push error -> " + " " + ex.message)
raise Gitolite::AccessDenied, ex.message
 
rescue BrokenGitolite => ex
log("Gitolite error -> " + " " + ex.message)
raise Gitolite::AccessDenied, ex.message
rescue Exception => ex
log(ex.class.name + " " + ex.message)
raise Gitolite::AccessDenied.new("gitolite timeout")
Loading
Loading
@@ -202,7 +207,15 @@ module Gitlab
system('git commit -m "GitLab"') # git commit returns 0 on success, and 1 if there is nothing to commit
raise "Git commit failed." unless [0,1].include? $?.exitstatus
 
if system('git push')
stdin, stdout, stderr = Open3.popen3('git push')
push_output = stderr.read
push_status = $?.to_i
if push_output =~ /remote\: FATAL/
raise BrokenGitolite, push_output
end
if push_status.zero?
Dir.chdir(Rails.root)
else
raise PushError, "unable to push gitolite-admin repo"
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment