@@ -138,19 +138,21 class Repository::Mercurial < Repository | |||||
138 |
|
138 | |||
139 | logger.debug "Fetching changesets for repository #{url}" if logger |
|
139 | logger.debug "Fetching changesets for repository #{url}" if logger | |
140 | (db_rev + 1).step(scm_rev, FETCH_AT_ONCE) do |i| |
|
140 | (db_rev + 1).step(scm_rev, FETCH_AT_ONCE) do |i| | |
141 | transaction do |
|
141 | scm.each_revision('', i, [i + FETCH_AT_ONCE - 1, scm_rev].min) do |re| | |
142 | scm.each_revision('', i, [i + FETCH_AT_ONCE - 1, scm_rev].min) do |re| |
|
142 | transaction do | |
143 | cs = Changeset.create(:repository => self, |
|
143 | cs = Changeset.create(:repository => self, | |
144 | :revision => re.revision, |
|
144 | :revision => re.revision, | |
145 | :scmid => re.scmid, |
|
145 | :scmid => re.scmid, | |
146 | :committer => re.author, |
|
146 | :committer => re.author, | |
147 | :committed_on => re.time, |
|
147 | :committed_on => re.time, | |
148 | :comments => re.message) |
|
148 | :comments => re.message) | |
149 | re.paths.each { |e| cs.create_change(e) } |
|
149 | unless cs.new_record? | |
150 | parents = {} |
|
150 | re.paths.each { |e| cs.create_change(e) } | |
151 | parents[cs] = re.parents unless re.parents.nil? |
|
151 | parents = {} | |
152 | parents.each do |ch, chparents| |
|
152 | parents[cs] = re.parents unless re.parents.nil? | |
153 | ch.parents = chparents.collect{|rp| find_changeset_by_name(rp)}.compact |
|
153 | parents.each do |ch, chparents| | |
|
154 | ch.parents = chparents.collect{|rp| find_changeset_by_name(rp)}.compact | |||
|
155 | end | |||
154 | end |
|
156 | end | |
155 | end |
|
157 | end | |
156 | end |
|
158 | end |
General Comments 0
You need to be logged in to leave comments.
Login now