summaryrefslogtreecommitdiffstats
path: root/app/models/repository/mercurial.rb
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2012-04-03 08:05:30 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2012-04-03 08:05:30 +0000
commit29782860b7c29f4fd808633c1171aa3175866feb (patch)
tree9bd24e43bda74deb39d460a02eab9fbfb7ae7a81 /app/models/repository/mercurial.rb
parentcd250714e593dc4895bb20c830680a1a9d401ca0 (diff)
downloadredmine-29782860b7c29f4fd808633c1171aa3175866feb.tar.gz
redmine-29782860b7c29f4fd808633c1171aa3175866feb.zip
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
Diffstat (limited to 'app/models/repository/mercurial.rb')
-rw-r--r--app/models/repository/mercurial.rb9
1 files changed, 3 insertions, 6 deletions
diff --git a/app/models/repository/mercurial.rb b/app/models/repository/mercurial.rb
index c31682783..36dfb201f 100644
--- a/app/models/repository/mercurial.rb
+++ b/app/models/repository/mercurial.rb
@@ -140,19 +140,16 @@ class Repository::Mercurial < Repository
(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