]> source.dussan.org Git - redmine.git/commitdiff
scm: mercurial: increase limit of branch directory latest changesets.
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Wed, 16 Mar 2011 00:50:53 +0000 (00:50 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Wed, 16 Mar 2011 00:50:53 +0000 (00:50 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5146 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/repository/mercurial.rb

index 2090b7d234ab867a886598ca5825f9e28d099cdb..b12d0b348da15a582eb213b3a4ecdb11d789da0a 100644 (file)
@@ -99,7 +99,10 @@ class Repository::Mercurial < Repository
       # Revisions in root directory and sub directory are not equal.
       # So, in order to get correct limit, we need to get all revisions.
       # But, it is very heavy.
-      args << scm.nodes_in_branch(rev, :limit => limit)
+      # Mercurial does not treat direcotry.
+      # So, "hg log DIR" is very heavy.
+      branch_limit = path.blank? ? limit : ( limit * 5 )
+      args << scm.nodes_in_branch(rev, :limit => branch_limit)
     elsif last = rev ? find_changeset_by_name(scm.tagmap[rev] || rev) : nil
       cond << "#{Changeset.table_name}.id <= ?"
       args << last.id