gitolite -> more exceptions
This commit is contained in:
parent
048117c05d
commit
e8f39a0a61
|
@ -4,6 +4,9 @@ require 'fileutils'
|
||||||
|
|
||||||
module Gitlab
|
module Gitlab
|
||||||
class GitoliteConfig
|
class GitoliteConfig
|
||||||
|
class PullError < StandardError; end
|
||||||
|
class PushError < StandardError; end
|
||||||
|
|
||||||
attr_reader :config_tmp_dir, :ga_repo, :conf
|
attr_reader :config_tmp_dir, :ga_repo, :conf
|
||||||
|
|
||||||
def config_tmp_dir
|
def config_tmp_dir
|
||||||
|
@ -54,6 +57,14 @@ module Gitlab
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
rescue PullError => ex
|
||||||
|
Gitlab::Logger.error("Pull error -> " + ex.message)
|
||||||
|
raise Gitolite::AccessDenied, ex.message
|
||||||
|
|
||||||
|
rescue PushError => ex
|
||||||
|
Gitlab::Logger.error("Push error -> " + " " + ex.message)
|
||||||
|
raise Gitolite::AccessDenied, ex.message
|
||||||
|
|
||||||
rescue Exception => ex
|
rescue Exception => ex
|
||||||
Gitlab::Logger.error(ex.class.name + " " + ex.message)
|
Gitlab::Logger.error(ex.class.name + " " + ex.message)
|
||||||
raise Gitolite::AccessDenied.new("gitolite timeout")
|
raise Gitolite::AccessDenied.new("gitolite timeout")
|
||||||
|
@ -171,14 +182,21 @@ module Gitlab
|
||||||
def pull tmp_dir
|
def pull tmp_dir
|
||||||
Dir.mkdir tmp_dir
|
Dir.mkdir tmp_dir
|
||||||
`git clone #{Gitlab.config.gitolite_admin_uri} #{tmp_dir}/gitolite`
|
`git clone #{Gitlab.config.gitolite_admin_uri} #{tmp_dir}/gitolite`
|
||||||
|
|
||||||
|
unless File.exists?(File.join(tmp_dir, 'gitolite', 'conf', 'gitolite.conf'))
|
||||||
|
raise PullError, "unable to clone gitolite-admin repo"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def push tmp_dir
|
def push tmp_dir
|
||||||
Dir.chdir(File.join(tmp_dir, "gitolite"))
|
Dir.chdir(File.join(tmp_dir, "gitolite"))
|
||||||
`git add -A`
|
system('git add -A')
|
||||||
`git commit -am "GitLab"`
|
system('git commit -am "GitLab"')
|
||||||
`git push`
|
if system('git push')
|
||||||
Dir.chdir(Rails.root)
|
Dir.chdir(Rails.root)
|
||||||
|
else
|
||||||
|
raise PushError, "unable to push gitolite-admin repo"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue