Commit 31e0fa6572848ee12c05e4e7471c1b3cee426f5f

Authored by Riyad Preukschas
1 parent 1b6c28b9

Update output of gitlab:enable_namespaces

Showing 1 changed file with 16 additions and 12 deletions   Show diff stats
lib/tasks/gitlab/enable_namespaces.rake
1 namespace :gitlab do 1 namespace :gitlab do
2 desc "GITLAB | Enable usernames and namespaces for user projects" 2 desc "GITLAB | Enable usernames and namespaces for user projects"
3 task enable_namespaces: :environment do 3 task enable_namespaces: :environment do
4 - print "\nUsernames for users:".yellow 4 + warn_user_is_not_gitlab
  5 +
  6 + print "Generate usernames for users without one: "
5 7
6 User.find_each(batch_size: 500) do |user| 8 User.find_each(batch_size: 500) do |user|
7 next if user.namespace 9 next if user.namespace
@@ -16,7 +18,8 @@ namespace :gitlab do @@ -16,7 +18,8 @@ namespace :gitlab do
16 end 18 end
17 end 19 end
18 20
19 - print "\n\nDirs for groups:".yellow 21 + puts ""
  22 + print "Create directories for groups: "
20 23
21 Group.find_each(batch_size: 500) do |group| 24 Group.find_each(batch_size: 500) do |group|
22 if group.ensure_dir_exist 25 if group.ensure_dir_exist
@@ -25,43 +28,44 @@ namespace :gitlab do @@ -25,43 +28,44 @@ namespace :gitlab do
25 print 'F'.red 28 print 'F'.red
26 end 29 end
27 end 30 end
  31 + puts ""
28 32
29 - print "\n\nMove projects from groups under groups dirs:".yellow  
30 git_path = Gitlab.config.gitolite.repos_path 33 git_path = Gitlab.config.gitolite.repos_path
31 - 34 + puts ""
  35 + puts "Move projects in groups into respective directories ... "
32 Project.where('namespace_id IS NOT NULL').find_each(batch_size: 500) do |project| 36 Project.where('namespace_id IS NOT NULL').find_each(batch_size: 500) do |project|
33 next unless project.group 37 next unless project.group
34 38
35 group = project.group 39 group = project.group
36 40
37 - puts "\n"  
38 - print " * #{project.name}: " 41 + print "#{project.name_with_namespace.yellow} ... "
39 42
40 new_path = File.join(git_path, project.path_with_namespace + '.git') 43 new_path = File.join(git_path, project.path_with_namespace + '.git')
41 44
42 if File.exists?(new_path) 45 if File.exists?(new_path)
43 - print "ok. already at #{new_path}".cyan 46 + puts "already at #{new_path}".green
44 next 47 next
45 end 48 end
46 49
47 old_path = File.join(git_path, project.path + '.git') 50 old_path = File.join(git_path, project.path + '.git')
48 51
49 unless File.exists?(old_path) 52 unless File.exists?(old_path)
50 - print "missing. not found at #{old_path}".red 53 + puts "couldn't find it at #{old_path}".red
51 next 54 next
52 end 55 end
53 56
54 begin 57 begin
55 Gitlab::ProjectMover.new(project, '', group.path).execute 58 Gitlab::ProjectMover.new(project, '', group.path).execute
56 - print "ok. Moved to #{new_path}".green 59 + puts "moved to #{new_path}".green
57 rescue 60 rescue
58 - print "Failed moving to #{new_path}".red 61 + puts "failed moving to #{new_path}".red
59 end 62 end
60 end 63 end
61 64
62 - print "\n\nRebuild gitolite:".yellow 65 + puts ""
  66 + puts "Rebuild Gitolite ... "
63 gitolite = Gitlab::Gitolite.new 67 gitolite = Gitlab::Gitolite.new
64 gitolite.update_repositories(Project.where('namespace_id IS NOT NULL')) 68 gitolite.update_repositories(Project.where('namespace_id IS NOT NULL'))
65 - puts "\n" 69 + puts "... #{"done".green}"
66 end 70 end
67 end 71 end