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
@@ -15,7 +15,7 @@
Loading
@@ -15,7 +15,7 @@
%p %p
Diagnostic tool: Diagnostic tool:
%pre %pre
bundle exec rake gitlab:app:status RAILS_ENV=production bundle exec rake gitlab:check RAILS_ENV=production
%li %li
%p %p
Permissions: Permissions:
Loading
Loading
Loading
@@ -6,6 +6,7 @@ module Gitlab
Loading
@@ -6,6 +6,7 @@ module Gitlab
class GitoliteConfig class GitoliteConfig
class PullError < StandardError; end class PullError < StandardError; end
class PushError < StandardError; end class PushError < StandardError; end
class BrokenGitolite < StandardError; end
   
attr_reader :config_tmp_dir, :ga_repo, :conf attr_reader :config_tmp_dir, :ga_repo, :conf
   
Loading
@@ -72,6 +73,10 @@ module Gitlab
Loading
@@ -72,6 +73,10 @@ module Gitlab
log("Push error -> " + " " + ex.message) log("Push error -> " + " " + ex.message)
raise Gitolite::AccessDenied, ex.message raise Gitolite::AccessDenied, ex.message
   
rescue BrokenGitolite => ex
log("Gitolite error -> " + " " + ex.message)
raise Gitolite::AccessDenied, ex.message
rescue Exception => ex rescue Exception => ex
log(ex.class.name + " " + ex.message) log(ex.class.name + " " + ex.message)
raise Gitolite::AccessDenied.new("gitolite timeout") raise Gitolite::AccessDenied.new("gitolite timeout")
Loading
@@ -202,7 +207,15 @@ module Gitlab
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 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 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) Dir.chdir(Rails.root)
else else
raise PushError, "unable to push gitolite-admin repo" 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.
Please register or to comment