namespace :gitlab do
desc "GITLAB | Enable auto merge"
task :enable_automerge => :environment do
+ warn_user_is_not_gitlab
+
+ puts "Updating repo permissions ..."
Gitlab::Gitolite.new.enable_automerge
+ puts "... #{"done".green}"
+ puts ""
+
+ print "Creating satellites for ..."
+ unless Project.count > 0
+ puts "skipping, because you have no projects".magenta
+ return
+ end
+ puts ""
+
+ Project.find_each(batch_size: 100) do |project|
+ print "#{project.name_with_namespace.yellow} ... "
- Project.find_each do |project|
- if project.repo_exists? && !project.satellite.exists?
- puts "Creating satellite for #{project.name}...".green
+ unless project.repo_exists?
+ puts "skipping, because the repo is empty".magenta
+ next
+ end
+
+ if project.satellite.exists?
+ puts "exists already".green
+ else
+ puts ""
project.satellite.create
+
+ print "... "
+ if $?.success?
+ puts "created".green
+ else
+ puts "error".red
+ end
end
end
-
- puts "Done!".green
end
namespace :satellites do