change gitolite backend behaviour to prevent error when config directory removed
This commit is contained in:
parent
79021e674b
commit
b994a65fc3
|
@ -5,7 +5,7 @@ module Gitlab
|
||||||
class AccessDenied < StandardError; end
|
class AccessDenied < StandardError; end
|
||||||
|
|
||||||
def config
|
def config
|
||||||
@config ||= Gitlab::GitoliteConfig.new
|
Gitlab::GitoliteConfig.new
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_key key_id, key_content, projects
|
def set_key key_id, key_content, projects
|
||||||
|
|
|
@ -4,8 +4,10 @@ require 'fileutils'
|
||||||
|
|
||||||
module Gitlab
|
module Gitlab
|
||||||
class GitoliteConfig
|
class GitoliteConfig
|
||||||
def config_tmp_dir
|
attr_reader :config_tmp_dir
|
||||||
@config_tmp_dir ||= File.join(Rails.root, 'tmp',"gitlabhq-gitolite-#{Time.now.to_i}")
|
|
||||||
|
def reset_config_tmp_dir
|
||||||
|
@config_tmp_dir = File.join(Rails.root, 'tmp',"gitlabhq-gitolite-#{Time.now.to_i}")
|
||||||
end
|
end
|
||||||
|
|
||||||
def apply
|
def apply
|
||||||
|
@ -13,9 +15,11 @@ module Gitlab
|
||||||
File.open(File.join(Rails.root, 'tmp', "gitlabhq-gitolite.lock"), "w+") do |f|
|
File.open(File.join(Rails.root, 'tmp', "gitlabhq-gitolite.lock"), "w+") do |f|
|
||||||
begin
|
begin
|
||||||
f.flock(File::LOCK_EX)
|
f.flock(File::LOCK_EX)
|
||||||
|
reset_config_tmp_dir
|
||||||
pull
|
pull
|
||||||
yield(self)
|
yield(self)
|
||||||
push
|
push
|
||||||
|
FileUtils.rm_rf(config_tmp_dir)
|
||||||
ensure
|
ensure
|
||||||
f.flock(File::LOCK_UN)
|
f.flock(File::LOCK_UN)
|
||||||
end
|
end
|
||||||
|
@ -160,8 +164,6 @@ module Gitlab
|
||||||
`git commit -am "GitLab"`
|
`git commit -am "GitLab"`
|
||||||
`git push`
|
`git push`
|
||||||
Dir.chdir(Rails.root)
|
Dir.chdir(Rails.root)
|
||||||
|
|
||||||
FileUtils.rm_rf(config_tmp_dir)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue