#coding=utf-8

namespace :sync_rep do
  desc "sync some projects which just have sigle repository"
  task :sigle => :environment do
    projects = Project.where("user_id !=?",12)
    projects.each do |project|
      # 针对类型为Git并且只有一个版本库的项目
      if project.repositories && project.repositories.count == 1 && project.repositories.first.type == "Repository::Git"
        rep = project.repositories.first
        count = Repository.find_by_sql("SELECT * FROM `repositories` where identifier = '#{rep.identifier}'").count
        puts project.id
        unless count > 1
          rep.identifier
          s = Trustie::Gitlab::Sync.new
          s.sync_project(project, path: rep.identifier, import_url: rep.url)
          rep.type = 'Repository::Gitlab'
          rep.save
        end
      end
    end
  end

  task :delete_rep => :environment do
  end
end