Port changes from #2803

This commit is contained in:
Riyad Preukschas 2013-02-01 21:18:09 +01:00
parent 42dd006dfc
commit fac503877d

View file

@ -782,21 +782,25 @@ namespace :gitlab do
Project.find_each(batch_size: 100) do |project| Project.find_each(batch_size: 100) do |project|
print "#{project.name_with_namespace.yellow} ... " print "#{project.name_with_namespace.yellow} ... "
correct_options = options.map do |name, value| if project.empty_repo?
run("git --git-dir=\"#{project.repository.path_to_repo}\" config --get #{name}").try(:chomp) == value puts "repository is empty".magenta
end
if correct_options.all?
puts "ok".green
else else
puts "wrong or missing".red correct_options = options.map do |name, value|
try_fixing_it( run("git --git-dir=\"#{project.repository.path_to_repo}\" config --get #{name}").try(:chomp) == value
sudo_gitlab("bundle exec rake gitlab:gitolite:update_repos RAILS_ENV=production") end
)
for_more_information( if correct_options.all?
"doc/raketasks/maintenance.md" puts "ok".green
) else
fix_and_rerun puts "wrong or missing".red
try_fixing_it(
sudo_gitlab("bundle exec rake gitlab:gitolite:update_repos RAILS_ENV=production")
)
for_more_information(
"doc/raketasks/maintenance.md"
)
fix_and_rerun
end
end end
end end
end end
@ -822,32 +826,37 @@ namespace :gitlab do
Project.find_each(batch_size: 100) do |project| Project.find_each(batch_size: 100) do |project|
print "#{project.name_with_namespace.yellow} ... " print "#{project.name_with_namespace.yellow} ... "
project_hook_file = File.join(project.repository.path_to_repo, "hooks", hook_file)
unless File.exists?(project_hook_file) if project.empty_repo?
puts "missing".red puts "repository is empty".magenta
try_fixing_it(
"sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}"
)
for_more_information(
"lib/support/rewrite-hooks.sh"
)
fix_and_rerun
next
end
if File.lstat(project_hook_file).symlink? &&
File.realpath(project_hook_file) == File.realpath(gitolite_hook_file)
puts "ok".green
else else
puts "not a link to Gitolite's hook".red project_hook_file = File.join(project.repository.path_to_repo, "hooks", hook_file)
try_fixing_it(
"sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}" unless File.exists?(project_hook_file)
) puts "missing".red
for_more_information( try_fixing_it(
"lib/support/rewrite-hooks.sh" "sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}"
) )
fix_and_rerun for_more_information(
"lib/support/rewrite-hooks.sh"
)
fix_and_rerun
next
end
if File.lstat(project_hook_file).symlink? &&
File.realpath(project_hook_file) == File.realpath(gitolite_hook_file)
puts "ok".green
else
puts "not a link to Gitolite's hook".red
try_fixing_it(
"sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}"
)
for_more_information(
"lib/support/rewrite-hooks.sh"
)
fix_and_rerun
end
end end
end end
end end