OSDN Git Service

scm: git: refactor saving a revision in model.
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Wed, 4 May 2011 03:44:10 +0000 (03:44 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Wed, 4 May 2011 03:44:10 +0000 (03:44 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5624 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/repository/git.rb

index 43ee72b..473c353 100644 (file)
@@ -98,26 +98,31 @@ 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, 
+        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(
+              :comments     => rev.message
+              )
+    if changeset.save
+      rev.paths.each do |file|
+        Change.create(
                   :changeset => changeset,
                   :action    => file[:action],
                   :path      => file[:path])
-            end
-          end
-        end
       end
     end
   end
+  private :save_revision
 
   def latest_changesets(path,rev,limit=10)
     revisions = scm.revisions(path, nil, rev, :limit => limit, :all => false)