scm: mercurial: git: save parents in creating changesets (#10470)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9311 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
cd250714e5
commit
29782860b7
|
@ -218,21 +218,18 @@ class Repository::Git < Repository
|
||||||
private :save_revisions
|
private :save_revisions
|
||||||
|
|
||||||
def save_revision(rev)
|
def save_revision(rev)
|
||||||
|
parents = (rev.parents || []).collect{|rp| find_changeset_by_name(rp)}.compact
|
||||||
changeset = Changeset.create(
|
changeset = Changeset.create(
|
||||||
:repository => self,
|
:repository => self,
|
||||||
:revision => rev.identifier,
|
:revision => rev.identifier,
|
||||||
:scmid => rev.scmid,
|
:scmid => rev.scmid,
|
||||||
:committer => rev.author,
|
:committer => rev.author,
|
||||||
:committed_on => rev.time,
|
:committed_on => rev.time,
|
||||||
:comments => rev.message
|
:comments => rev.message,
|
||||||
|
:parents => parents
|
||||||
)
|
)
|
||||||
unless changeset.new_record?
|
unless changeset.new_record?
|
||||||
rev.paths.each { |change| changeset.create_change(change) }
|
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
|
end
|
||||||
changeset
|
changeset
|
||||||
end
|
end
|
||||||
|
|
|
@ -140,19 +140,16 @@ class Repository::Mercurial < Repository
|
||||||
(db_rev + 1).step(scm_rev, FETCH_AT_ONCE) do |i|
|
(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|
|
scm.each_revision('', i, [i + FETCH_AT_ONCE - 1, scm_rev].min) do |re|
|
||||||
transaction do
|
transaction do
|
||||||
|
parents = (re.parents || []).collect{|rp| find_changeset_by_name(rp)}.compact
|
||||||
cs = Changeset.create(:repository => self,
|
cs = Changeset.create(:repository => self,
|
||||||
:revision => re.revision,
|
:revision => re.revision,
|
||||||
:scmid => re.scmid,
|
:scmid => re.scmid,
|
||||||
:committer => re.author,
|
:committer => re.author,
|
||||||
:committed_on => re.time,
|
:committed_on => re.time,
|
||||||
:comments => re.message)
|
:comments => re.message,
|
||||||
|
:parents => parents)
|
||||||
unless cs.new_record?
|
unless cs.new_record?
|
||||||
re.paths.each { |e| cs.create_change(e) }
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue