BigW Consortium Gitlab

list_repos.rake 680 Bytes
Newer Older
1 2 3 4 5
namespace :gitlab do
  task list_repos: :environment do
    scope = Project
    if ENV['SINCE']
      date = Time.parse(ENV['SINCE'])
6 7 8 9
      warn "Listing repositories with activity or changes since #{date}"
      project_ids = Project.where('last_activity_at > ? OR updated_at > ?', date, date).pluck(:id).sort
      namespace_ids = Namespace.where(['updated_at > ?', date]).pluck(:id).sort
      scope = scope.where('id IN (?) OR namespace_id in (?)', project_ids, namespace_ids)
10 11
    end
    scope.find_each do |project|
12
      base = File.join(project.repository_storage_path, project.path_with_namespace)
13 14 15 16 17
      puts base + '.git'
      puts base + '.wiki.git'
    end
  end
end