|
- namespace :sync do
- desc "sync repository for myshixun"
- task :myshixun => :environment do
- g = Gitlab.client
- myshixuns = Myshixun.where("repo_name is null")
- myshixuns.find_each do |myshixun|
- begin
- puts myshixun.identifier
- repo_name = g.project(myshixun.gpid).path_with_namespace
- puts repo_name
- myshixun.update_column(:repo_name, repo_name)
- rescue Exception => e
- Rails.logger.error("#{e.message}")
- end
- end
- end
-
-
- task :shixun => :environment do
- g = Gitlab.client
- shixuns = Shixun.where("repo_name is null")
- shixuns.find_each do |shixun|
- begin
- puts shixun.identifier
- repo_name = g.project(shixun.gpid).path_with_namespace
- puts repo_name
- shixun.update_column(:repo_name, repo_name)
- rescue Exception => e
- Rails.logger.error("#{e.message}")
- end
- end
- end
-
-
- task :check => :environment do
- g = Gitlab.client
- shixuns = Shixun.where("repo_name is null and fork_from is not null")
- shixuns.find_each do |shixun|
- begin
- puts shixun.identifier
- original_shixun = Shixun.find(fork_from)
-
- gshixun = g.fork(original_shixun.gpid, shixun.owner.try(:gid))
-
- repo_name = g.project(gshixun.id).path_with_namespace
- puts repo_name
- shixun.update_attributes(:repo_name => repo_name, :gpid => gshixun.id)
- rescue Exception => e
- Rails.logger.error("#{e.message}")
- end
- end
- end
- end
|