Commit fac503877dbd3541009a30c8b9353d6eef85b059
1 parent
42dd006d
Exists in
master
and in
4 other branches
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 | ... | ... |