Commit fac503877dbd3541009a30c8b9353d6eef85b059

Authored by Riyad Preukschas
1 parent 42dd006d

Port changes from #2803

Showing 1 changed file with 47 additions and 38 deletions   Show diff stats
lib/tasks/gitlab/check.rake
... ... @@ -782,21 +782,25 @@ namespace :gitlab do
782 782 Project.find_each(batch_size: 100) do |project|
783 783 print "#{project.name_with_namespace.yellow} ... "
784 784  
785   - correct_options = options.map do |name, value|
786   - run("git --git-dir=\"#{project.repository.path_to_repo}\" config --get #{name}").try(:chomp) == value
787   - end
788   -
789   - if correct_options.all?
790   - puts "ok".green
  785 + if project.empty_repo?
  786 + puts "repository is empty".magenta
791 787 else
792   - puts "wrong or missing".red
793   - try_fixing_it(
794   - sudo_gitlab("bundle exec rake gitlab:gitolite:update_repos RAILS_ENV=production")
795   - )
796   - for_more_information(
797   - "doc/raketasks/maintenance.md"
798   - )
799   - fix_and_rerun
  788 + correct_options = options.map do |name, value|
  789 + run("git --git-dir=\"#{project.repository.path_to_repo}\" config --get #{name}").try(:chomp) == value
  790 + end
  791 +
  792 + if correct_options.all?
  793 + puts "ok".green
  794 + else
  795 + puts "wrong or missing".red
  796 + try_fixing_it(
  797 + sudo_gitlab("bundle exec rake gitlab:gitolite:update_repos RAILS_ENV=production")
  798 + )
  799 + for_more_information(
  800 + "doc/raketasks/maintenance.md"
  801 + )
  802 + fix_and_rerun
  803 + end
800 804 end
801 805 end
802 806 end
... ... @@ -822,32 +826,37 @@ namespace :gitlab do
822 826  
823 827 Project.find_each(batch_size: 100) do |project|
824 828 print "#{project.name_with_namespace.yellow} ... "
825   - project_hook_file = File.join(project.repository.path_to_repo, "hooks", hook_file)
826 829  
827   - unless File.exists?(project_hook_file)
828   - puts "missing".red
829   - try_fixing_it(
830   - "sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}"
831   - )
832   - for_more_information(
833   - "lib/support/rewrite-hooks.sh"
834   - )
835   - fix_and_rerun
836   - next
837   - end
838   -
839   - if File.lstat(project_hook_file).symlink? &&
840   - File.realpath(project_hook_file) == File.realpath(gitolite_hook_file)
841   - puts "ok".green
  830 + if project.empty_repo?
  831 + puts "repository is empty".magenta
842 832 else
843   - puts "not a link to Gitolite's hook".red
844   - try_fixing_it(
845   - "sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}"
846   - )
847   - for_more_information(
848   - "lib/support/rewrite-hooks.sh"
849   - )
850   - fix_and_rerun
  833 + project_hook_file = File.join(project.repository.path_to_repo, "hooks", hook_file)
  834 +
  835 + unless File.exists?(project_hook_file)
  836 + puts "missing".red
  837 + try_fixing_it(
  838 + "sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}"
  839 + )
  840 + for_more_information(
  841 + "lib/support/rewrite-hooks.sh"
  842 + )
  843 + fix_and_rerun
  844 + next
  845 + end
  846 +
  847 + if File.lstat(project_hook_file).symlink? &&
  848 + File.realpath(project_hook_file) == File.realpath(gitolite_hook_file)
  849 + puts "ok".green
  850 + else
  851 + puts "not a link to Gitolite's hook".red
  852 + try_fixing_it(
  853 + "sudo -u #{gitolite_ssh_user} ln -sf #{gitolite_hook_file} #{project_hook_file}"
  854 + )
  855 + for_more_information(
  856 + "lib/support/rewrite-hooks.sh"
  857 + )
  858 + fix_and_rerun
  859 + end
851 860 end
852 861 end
853 862 end
... ...