From: Toshi MARUYAMA Date: Wed, 16 Mar 2011 00:50:53 +0000 (+0000) Subject: scm: mercurial: increase limit of branch directory latest changesets. X-Git-Tag: 1.2.0~697 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2a161b4576394daa5c38466e4aaf5f2f95e61612;p=redmine.git scm: mercurial: increase limit of branch directory latest changesets. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5146 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/repository/mercurial.rb b/app/models/repository/mercurial.rb index 2090b7d23..b12d0b348 100644 --- a/app/models/repository/mercurial.rb +++ b/app/models/repository/mercurial.rb @@ -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