提交次数比较多的项目数据迁移
This commit is contained in:
parent
ff8cad5cf2
commit
2381a78e1b
|
@ -0,0 +1,32 @@
|
|||
namespace :gitlab do
|
||||
desc "sync gitlab's commit acts to trustie"
|
||||
task :forge_acts_update => :environment do
|
||||
g = Gitlab.client
|
||||
ids = [2,847,931,942]
|
||||
projects = Project.find(ids)
|
||||
projects.each do |project|
|
||||
c = Commit.where(:project_id => project.id)
|
||||
if c.blank?
|
||||
begin
|
||||
g_project = g.project(project.gpid)
|
||||
# 获取默认分支
|
||||
g_default_branch = g_project.default_branch.nil? ? "master" : g_project.default_branch
|
||||
# 总的提交次数
|
||||
commit_count = g.user_static(project.gpid, :rev => g_default_branch).count
|
||||
pages = commit_count / 20 + 1
|
||||
puts "#{pages}"
|
||||
puts "project id is #{project.id}"
|
||||
# api获取每次只能获取20次提交,所以需要通过取得page值来获取每页的提交动态
|
||||
(0..pages).each do |page|
|
||||
commits = g.commits(project.gpid, :ref_name => g_default_branch, :page => page)
|
||||
commits.each do |commit|
|
||||
Commit.create(:project_id => project.id, :repository_id => project.gpid, :version => commit.id, :committer => commit.author_email, :comments => Redmine::CodesetUtil.to_utf8(commit.title, 'UTF-8'), :committed_on => commit.created_at)
|
||||
end
|
||||
end
|
||||
rescue Exception => e
|
||||
puts e
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,41 @@
|
|||
namespace :gitlab do
|
||||
desc "sync gitlab's commit acts to trustie"
|
||||
task :acts_to_trustie => :environment do
|
||||
begin
|
||||
projects = Project.where(:status => 1)
|
||||
projects.each do |project|
|
||||
c = Commit.find_by_sql("SELECT * FROM `commits` where project_id = #{project.id} order by committed_on limit 1;")
|
||||
g_project = g.project(project.gpid)
|
||||
end
|
||||
rescue Exception => e
|
||||
puts e
|
||||
end
|
||||
g = Gitlab.client
|
||||
ids = [2,847,931,942]
|
||||
projects = Project.find(ids)
|
||||
projects.each do |project|
|
||||
c = Commit.where(:project_id => project.id)
|
||||
if c.blank?
|
||||
begin
|
||||
g_project = g.project(project.gpid)
|
||||
# 获取默认分支
|
||||
g_default_branch = g_project.default_branch.nil? ? "master" : g_project.default_branch
|
||||
# 总的提交次数
|
||||
commit_count = g.user_static(project.gpid, :rev => g_default_branch).count
|
||||
pages = commit_count / 20 + 1
|
||||
puts "#{pages}"
|
||||
puts "project id is #{project.id}"
|
||||
# api获取每次只能获取20次提交,所以需要通过取得page值来获取每页的提交动态
|
||||
(0..pages).each do |page|
|
||||
commits = g.commits(project.gpid, :ref_name => g_default_branch, :page => page)
|
||||
commits.each do |commit|
|
||||
Commit.create(:project_id => project.id, :repository_id => project.gpid, :version => commit.id, :committer => commit.author_email, :comments => Redmine::CodesetUtil.to_utf8(commit.title, 'UTF-8'), :committed_on => commit.created_at)
|
||||
end
|
||||
end
|
||||
rescue Exception => e
|
||||
puts e
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue