Wraps changeset creation inside a single transation.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3469 e93f8b46-1217-0410-a6f0-8f06a7374b81
pull/351/head
Jean-Philippe Lang 15 years ago
parent 87bc092d7c
commit 103698b371
  1. 20
      lib/redmine/scm/adapters/abstract_adapter.rb

@ -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…
Cancel
Save