|
- #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
|