OSDN Git Service

Update output of gitlab:enable_automerge
authorRiyad Preukschas <riyad@informatik.uni-bremen.de>
Sun, 23 Dec 2012 20:14:30 +0000 (21:14 +0100)
committerRiyad Preukschas <riyad@informatik.uni-bremen.de>
Sun, 23 Dec 2012 20:14:30 +0000 (21:14 +0100)
lib/tasks/gitlab/enable_automerge.rake

index ed3d636..d412f8b 100644 (file)
@@ -1,16 +1,42 @@
 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