diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-02-28 04:46:42 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-02-28 04:46:42 +0000 |
commit | d7aa303a5ca01f5845f014f603d48bd98c56133c (patch) | |
tree | b02c1820cece5a731de0b266b9a9e049e6e190ed /app | |
parent | c781cbb2f728cf17ec9e2be096896ba1a6f51210 (diff) | |
download | redmine-d7aa303a5ca01f5845f014f603d48bd98c56133c.tar.gz redmine-d7aa303a5ca01f5845f014f603d48bd98c56133c.zip |
scm: git: move saving changesets from adapter to model (#3396).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4959 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/models/repository/git.rb | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/app/models/repository/git.rb b/app/models/repository/git.rb index 8fb6325b0..0ebd8668e 100644 --- a/app/models/repository/git.rb +++ b/app/models/repository/git.rb @@ -79,7 +79,28 @@ class Repository::Git < Repository revisions.reject!{|r| recent_revisions.include?(r.scmid)} # Save the remaining ones to the database - revisions.each{|r| r.save(self)} unless revisions.nil? + 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 + end + end + end end def latest_changesets(path,rev,limit=10) |