diff --git a/app/models/changeset.rb b/app/models/changeset.rb index f714563..baa4366 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -148,6 +148,15 @@ class Changeset < ActiveRecord::Base def self.normalize_comments(str) to_utf8(str.to_s.strip) end + + # Creates a new Change from it's common parameters + def create_change(change) + Change.create(:changeset => self, + :action => change[:action], + :path => change[:path], + :from_path => change[:from_path], + :from_revision => change[:from_revision]) + end private diff --git a/app/models/repository/darcs.rb b/app/models/repository/darcs.rb index 5c8d387..43fb029 100644 --- a/app/models/repository/darcs.rb +++ b/app/models/repository/darcs.rb @@ -85,11 +85,7 @@ class Repository::Darcs < Repository :comments => revision.message) revision.paths.each do |change| - Change.create(:changeset => changeset, - :action => change[:action], - :path => change[:path], - :from_path => change[:from_path], - :from_revision => change[:from_revision]) + changeset.create_change(change) end next_rev += 1 end if revisions diff --git a/app/models/repository/mercurial.rb b/app/models/repository/mercurial.rb index 18cbc94..1072239 100644 --- a/app/models/repository/mercurial.rb +++ b/app/models/repository/mercurial.rb @@ -78,11 +78,7 @@ class Repository::Mercurial < Repository :comments => revision.message) revision.paths.each do |change| - Change.create(:changeset => changeset, - :action => change[:action], - :path => change[:path], - :from_path => change[:from_path], - :from_revision => change[:from_revision]) + changeset.create_change(change) end end end unless revisions.nil? diff --git a/app/models/repository/subversion.rb b/app/models/repository/subversion.rb index 3eec5a6..091d141 100644 --- a/app/models/repository/subversion.rb +++ b/app/models/repository/subversion.rb @@ -63,11 +63,7 @@ class Repository::Subversion < Repository :comments => revision.message) revision.paths.each do |change| - Change.create(:changeset => changeset, - :action => change[:action], - :path => change[:path], - :from_path => change[:from_path], - :from_revision => change[:from_revision]) + changeset.create_change(change) end unless changeset.new_record? end end unless revisions.nil?