From 19c6266a7d0f743fd217e9c339f261689fd8ecd8 Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Wed, 4 May 2011 03:44:10 +0000 Subject: [PATCH] scm: git: refactor saving a revision in model. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5624 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/repository/git.rb | 37 ++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/app/models/repository/git.rb b/app/models/repository/git.rb index 43ee72bee..473c3535d 100644 --- a/app/models/repository/git.rb +++ b/app/models/repository/git.rb @@ -98,27 +98,32 @@ class Repository::Git < Repository unless revisions.nil? revisions.each do |rev| transaction do - changeset = Changeset.new( - :repository => self, - :revision => rev.identifier, - :scmid => rev.scmid, - :committer => rev.author, - :committed_on => rev.time, - :comments => rev.message) - - if changeset.save - rev.paths.each do |file| - Change.create( - :changeset => changeset, - :action => file[:action], - :path => file[:path]) - end - end + save_revision(rev) end end end end + def save_revision(rev) + changeset = Changeset.new( + :repository => self, + :revision => rev.identifier, + :scmid => rev.scmid, + :committer => rev.author, + :committed_on => rev.time, + :comments => rev.message + ) + if changeset.save + rev.paths.each do |file| + Change.create( + :changeset => changeset, + :action => file[:action], + :path => file[:path]) + end + end + end + private :save_revision + def latest_changesets(path,rev,limit=10) revisions = scm.revisions(path, nil, rev, :limit => limit, :all => false) return [] if revisions.nil? || revisions.empty?