@@ -154,10 +154,13 class Repository::Git < Repository | |||||
154 | from_scmid = h["branches"][br]["last_scmid"] if h["branches"][br] |
|
154 | from_scmid = h["branches"][br]["last_scmid"] if h["branches"][br] | |
155 | h["branches"][br] ||= {} |
|
155 | h["branches"][br] ||= {} | |
156 | begin |
|
156 | begin | |
|
157 | cnt = 0 | |||
|
158 | last_rev_scmid = nil | |||
157 | scm.revisions('', from_scmid, br, {:reverse => true}) do |rev| |
|
159 | scm.revisions('', from_scmid, br, {:reverse => true}) do |rev| | |
|
160 | cnt += 1 | |||
158 | db_rev = find_changeset_by_name(rev.revision) |
|
161 | db_rev = find_changeset_by_name(rev.revision) | |
159 | transaction do |
|
162 | if db_rev.nil? | |
160 | if db_rev.nil? |
|
163 | transaction do | |
161 | db_saved_rev = save_revision(rev) |
|
164 | db_saved_rev = save_revision(rev) | |
162 | parents = {} |
|
165 | parents = {} | |
163 | parents[db_saved_rev] = rev.parents unless rev.parents.nil? |
|
166 | parents[db_saved_rev] = rev.parents unless rev.parents.nil? | |
@@ -165,11 +168,20 class Repository::Git < Repository | |||||
165 | ch.parents = chparents.collect{|rp| find_changeset_by_name(rp)}.compact |
|
168 | ch.parents = chparents.collect{|rp| find_changeset_by_name(rp)}.compact | |
166 | end |
|
169 | end | |
167 | end |
|
170 | end | |
168 | h["branches"][br]["last_scmid"] = rev.scmid |
|
171 | end | |
|
172 | last_rev_scmid = rev.scmid | |||
|
173 | if cnt > 100 | |||
|
174 | cnt = 0 | |||
|
175 | h["branches"][br]["last_scmid"] = last_rev_scmid | |||
169 | merge_extra_info(h) |
|
176 | merge_extra_info(h) | |
170 | self.save |
|
177 | self.save | |
171 | end |
|
178 | end | |
172 | end |
|
179 | end | |
|
180 | unless last_rev_scmid.nil? | |||
|
181 | h["branches"][br]["last_scmid"] = last_rev_scmid | |||
|
182 | merge_extra_info(h) | |||
|
183 | self.save | |||
|
184 | end | |||
173 | rescue Redmine::Scm::Adapters::CommandFailed => e |
|
185 | rescue Redmine::Scm::Adapters::CommandFailed => e | |
174 | logger.error("save revisions error: #{e.message}") |
|
186 | logger.error("save revisions error: #{e.message}") | |
175 | end |
|
187 | end |
General Comments 0
You need to be logged in to leave comments.
Login now