mirror of
https://github.com/redmine/redmine.git
synced 2025-11-09 23:06:05 +01:00
scm: mercurial: use long id in adapter level (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12752 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -152,16 +152,24 @@ 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
|
||||
scmid = re.scmid[0, 12]
|
||||
parents = (re.parents || []).collect do |rp|
|
||||
find_changeset_by_name(rp[0, 12])
|
||||
end.compact
|
||||
cs = Changeset.create(:repository => self,
|
||||
:revision => re.revision,
|
||||
:scmid => re.scmid,
|
||||
:scmid => scmid,
|
||||
:committer => re.author,
|
||||
:committed_on => re.time,
|
||||
:comments => re.message,
|
||||
:parents => parents)
|
||||
unless cs.new_record?
|
||||
re.paths.each { |e| cs.create_change(e) }
|
||||
re.paths.each do |e|
|
||||
if from_revision = e[:from_revision]
|
||||
e[:from_revision] = from_revision[0, 12]
|
||||
end
|
||||
cs.create_change(e)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user