summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/models/repository/git.rb23
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)