git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9143 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
1 parent
f0987e4b8f
commit
bcba955456
1 file changed
+15
-3
@@ -154,10 +154,13 @@ class Repository::Git < Repository
|
|||||||
from_scmid = h["branches"][br]["last_scmid"] if h["branches"][br]
|
from_scmid = h["branches"][br]["last_scmid"] if h["branches"][br]
|
||||||
h["branches"][br] ||= {}
|
h["branches"][br] ||= {}
|
||||||
begin
|
begin
|
||||||
|
cnt = 0
|
||||||
|
last_rev_scmid = nil
|
||||||
scm.revisions('', from_scmid, br, {:reverse => true}) do |rev|
|
scm.revisions('', from_scmid, br, {:reverse => true}) do |rev|
|
||||||
|
cnt += 1
|
||||||
db_rev = find_changeset_by_name(rev.revision)
|
db_rev = find_changeset_by_name(rev.revision)
|
||||||
transaction do
|
if db_rev.nil?
|
||||||
if db_rev.nil?
|
transaction do
|
||||||
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?
|
||||||
@@ -165,11 +168,20 @@ 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
|
||||||
h["branches"][br]["last_scmid"] = rev.scmid
|
end
|
||||||
|
last_rev_scmid = rev.scmid
|
||||||
|
if cnt > 100
|
||||||
|
cnt = 0
|
||||||
|
h["branches"][br]["last_scmid"] = last_rev_scmid
|
||||||
merge_extra_info(h)
|
merge_extra_info(h)
|
||||||
self.save
|
self.save
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
unless last_rev_scmid.nil?
|
||||||
|
h["branches"][br]["last_scmid"] = last_rev_scmid
|
||||||
|
merge_extra_info(h)
|
||||||
|
self.save
|
||||||
|
end
|
||||||
rescue Redmine::Scm::Adapters::CommandFailed => e
|
rescue Redmine::Scm::Adapters::CommandFailed => e
|
||||||
logger.error("save revisions error: #{e.message}")
|
logger.error("save revisions error: #{e.message}")
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in new issue
Block a user