@@ -19,12 +19,15 require 'redmine/scm/adapters/mercurial_adapter' | |||
|
19 | 19 | |
|
20 | 20 | class Repository::Mercurial < Repository |
|
21 | 21 | # sort changesets by revision number |
|
22 | has_many :changesets, :order => "#{Changeset.table_name}.id DESC", :foreign_key => 'repository_id' | |
|
22 | has_many :changesets, | |
|
23 | :order => "#{Changeset.table_name}.id DESC", | |
|
24 | :foreign_key => 'repository_id' | |
|
23 | 25 | |
|
24 | 26 | attr_protected :root_url |
|
25 | 27 | validates_presence_of :url |
|
26 | 28 | |
|
27 |
|
|
|
29 | # number of changesets to fetch at once | |
|
30 | FETCH_AT_ONCE = 100 | |
|
28 | 31 | |
|
29 | 32 | def self.human_attribute_name(attribute_key_name) |
|
30 | 33 | attr_name = attribute_key_name |
@@ -84,9 +87,11 class Repository::Mercurial < Repository | |||
|
84 | 87 | # Sqlite3 and PostgreSQL pass. |
|
85 | 88 | # Is this MySQL bug? |
|
86 | 89 | def latest_changesets(path, rev, limit=10) |
|
87 |
changesets.find(:all, |
|
|
90 | changesets.find(:all, | |
|
91 | :include => :user, | |
|
88 | 92 | :conditions => latest_changesets_cond(path, rev, limit), |
|
89 | :limit => limit, :order => "#{Changeset.table_name}.id DESC") | |
|
93 | :limit => limit, | |
|
94 | :order => "#{Changeset.table_name}.id DESC") | |
|
90 | 95 | end |
|
91 | 96 | |
|
92 | 97 | def latest_changesets_cond(path, rev, limit) |
@@ -108,7 +113,6 class Repository::Mercurial < Repository | |||
|
108 | 113 | cond << "#{Changeset.table_name}.id <= ?" |
|
109 | 114 | args << last.id |
|
110 | 115 | end |
|
111 | ||
|
112 | 116 | unless path.blank? |
|
113 | 117 | cond << "EXISTS (SELECT * FROM #{Change.table_name} |
|
114 | 118 | WHERE #{Change.table_name}.changeset_id = #{Changeset.table_name}.id |
@@ -117,7 +121,6 class Repository::Mercurial < Repository | |||
|
117 | 121 | args << path.with_leading_slash |
|
118 | 122 | args << "#{path.with_leading_slash.gsub(%r{[%_\\]}) { |s| "\\#{s}" }}/%" << '\\' |
|
119 | 123 | end |
|
120 | ||
|
121 | 124 | [cond.join(' AND '), *args] unless cond.empty? |
|
122 | 125 | end |
|
123 | 126 | private :latest_changesets_cond |
General Comments 0
You need to be logged in to leave comments.
Login now