reduce saving heads times in fetching revisions. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9141 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
2bcf9f2871
commit
374c2aa705
|
@ -162,12 +162,10 @@ class Repository::Git < Repository
|
||||||
opts[:excludes] = prev_db_heads
|
opts[:excludes] = prev_db_heads
|
||||||
opts[:includes] = repo_heads
|
opts[:includes] = repo_heads
|
||||||
begin
|
begin
|
||||||
cnt = 0
|
|
||||||
scm.revisions('', nil, nil, opts) do |rev|
|
scm.revisions('', nil, nil, opts) do |rev|
|
||||||
cnt += 1
|
|
||||||
db_rev = find_changeset_by_name(rev.scmid)
|
db_rev = find_changeset_by_name(rev.scmid)
|
||||||
if db_rev.nil?
|
transaction do
|
||||||
transaction do
|
if db_rev.nil?
|
||||||
db_saved_rev = save_revision(rev)
|
db_saved_rev = save_revision(rev)
|
||||||
parents = {}
|
parents = {}
|
||||||
parents[db_saved_rev] = rev.parents unless rev.parents.nil?
|
parents[db_saved_rev] = rev.parents unless rev.parents.nil?
|
||||||
|
@ -175,9 +173,6 @@ class Repository::Git < Repository
|
||||||
ch.parents = chparents.collect{|rp| find_changeset_by_name(rp)}.compact
|
ch.parents = chparents.collect{|rp| find_changeset_by_name(rp)}.compact
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
if cnt > 100
|
|
||||||
cnt = 0
|
|
||||||
h["heads"] = prev_db_heads.dup
|
h["heads"] = prev_db_heads.dup
|
||||||
h["heads"] << rev.scmid
|
h["heads"] << rev.scmid
|
||||||
merge_extra_info(h)
|
merge_extra_info(h)
|
||||||
|
|
Loading…
Reference in New Issue