Wraps changeset creation inside a single transation.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3469 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
87bc092d7c
commit
103698b371
|
@ -286,21 +286,23 @@ module Redmine
|
|||
end
|
||||
|
||||
def save(repo)
|
||||
if repo.changesets.find_by_scmid(scmid.to_s).nil?
|
||||
changeset = Changeset.create!(
|
||||
Changeset.transaction do
|
||||
changeset = Changeset.new(
|
||||
:repository => repo,
|
||||
:revision => identifier,
|
||||
:scmid => scmid,
|
||||
:committer => author,
|
||||
:committed_on => time,
|
||||
:comments => message)
|
||||
|
||||
paths.each do |file|
|
||||
Change.create!(
|
||||
:changeset => changeset,
|
||||
:action => file[:action],
|
||||
:path => file[:path])
|
||||
end
|
||||
|
||||
if changeset.save
|
||||
paths.each do |file|
|
||||
Change.create(
|
||||
:changeset => changeset,
|
||||
:action => file[:action],
|
||||
:path => file[:path])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue