54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
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
 |