private :save_revisions
def save_revision(rev)
+ parents = (rev.parents || []).collect{|rp| find_changeset_by_name(rp)}.compact
changeset = Changeset.create(
:repository => self,
:revision => rev.identifier,
:scmid => rev.scmid,
:committer => rev.author,
:committed_on => rev.time,
- :comments => rev.message
+ :comments => rev.message,
+ :parents => parents
)
unless changeset.new_record?
rev.paths.each { |change| changeset.create_change(change) }
- parents = {}
- parents[changeset] = rev.parents unless rev.parents.nil?
- parents.each do |ch, chparents|
- ch.parents = chparents.collect{|rp| find_changeset_by_name(rp)}.compact
- end
end
changeset
end
(db_rev + 1).step(scm_rev, FETCH_AT_ONCE) do |i|
scm.each_revision('', i, [i + FETCH_AT_ONCE - 1, scm_rev].min) do |re|
transaction do
+ parents = (re.parents || []).collect{|rp| find_changeset_by_name(rp)}.compact
cs = Changeset.create(:repository => self,
:revision => re.revision,
:scmid => re.scmid,
:committer => re.author,
:committed_on => re.time,
- :comments => re.message)
+ :comments => re.message,
+ :parents => parents)
unless cs.new_record?
re.paths.each { |e| cs.create_change(e) }
- parents = {}
- parents[cs] = re.parents unless re.parents.nil?
- parents.each do |ch, chparents|
- ch.parents = chparents.collect{|rp| find_changeset_by_name(rp)}.compact
- end
end
end
end