summaryrefslogtreecommitdiff
path: root/lib/tasks/gitlab/update_commit_count.rake
blob: 3bd10b0208bf7fa78cc40c784d871715c8767047 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace :gitlab do
  desc "GitLab | Update commit count for projects"
  task update_commit_count: :environment do
    projects = Project.where(commit_count: 0)
    puts "#{projects.size} projects need to be updated. This might take a while."
    ask_to_continue unless ENV['force'] == 'yes'

    projects.find_each(batch_size: 100) do |project|
      print "#{project.name_with_namespace.color(:yellow)} ... "

      unless project.repo_exists?
        puts "skipping, because the repo is empty".color(:magenta)
        next
      end

      project.update_commit_count
      puts project.commit_count.to_s.color(:green)
    end
  end
end