summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-06-29 09:41:42 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-06-29 09:41:42 +0000
commit00593f2f345f51565535257cf183b004c1087a21 (patch)
tree78de030885a13946311dadaa679cd1bdfb82f2d9 /app
parenta40add57de53ed3f5b0c91028ce45d9f4ec902d3 (diff)
downloadredmine-00593f2f345f51565535257cf183b004c1087a21.tar.gz
redmine-00593f2f345f51565535257cf183b004c1087a21.zip
Reduces memory usage when importing large git repositories (#1482).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1599 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/models/repository/git.rb6
1 files changed, 2 insertions, 4 deletions
diff --git a/app/models/repository/git.rb b/app/models/repository/git.rb
index 7213588ac..2f440fe29 100644
--- a/app/models/repository/git.rb
+++ b/app/models/repository/git.rb
@@ -44,10 +44,8 @@ class Repository::Git < Repository
scm_revision = scm_info.lastrev.scmid
unless changesets.find_by_scmid(scm_revision)
-
- revisions = scm.revisions('', db_revision, nil)
- transaction do
- revisions.reverse_each do |revision|
+ scm.revisions('', db_revision, nil, :reverse => true) do |revision|
+ transaction do
changeset = Changeset.create(:repository => self,
:revision => revision.identifier,
:scmid => revision.scmid,