Rake task to provider full repo access for gitolite-owner.\n Automerge requires gitlab user be able to push to any repo

This commit is contained in:
randx 2012-03-30 08:25:04 +03:00
parent 3824f9b372
commit 464cd59dff
2 changed files with 38 additions and 0 deletions

View file

@ -123,5 +123,34 @@ module Gitlabhq
repo
end
def admin_all_repo
ga_repo = ::Gitolite::GitoliteAdmin.new(File.join(@local_dir,'gitolite'))
conf = ga_repo.config
owner_name = ""
# Read gitolite-admin user
#
begin
repo = conf.get_repo("gitolite-admin")
owner_name = repo.permissions[0]["RW+"][""][0]
raise StandardError if owner_name.blank?
rescue => ex
puts "Cant determine gitolite-admin owner".red
raise StandardError
end
# @ALL repos premission for gitolite owner
repo_name = "@all"
repo = if conf.has_repo?(repo_name)
conf.get_repo(repo_name)
else
::Gitolite::Config::Repo.new(repo_name)
end
repo.add_permission("RW+", "", owner_name)
conf.add_repo(repo, true)
ga_repo.save
end
end
end

View file

@ -0,0 +1,9 @@
desc "Give gitlab user full access to every repo"
task :gitlab_enable_automerge => :environment do
Gitlabhq::GitHost.system.new.configure do |git|
git.admin_all_repo
end
puts "Done!".green
end