comparison app/models/repository/mercurial.rb @ 117:af80e5618e9b redmine-1.1

* Update to Redmine 1.1-stable branch (Redmine SVN rev 4707)
author Chris Cannam
date Thu, 13 Jan 2011 12:53:21 +0000
parents 513646585e45
children b859cc0c4fa1
comparison
equal deleted inserted replaced
39:150ceac17a8d 117:af80e5618e9b
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 require 'redmine/scm/adapters/mercurial_adapter' 18 require 'redmine/scm/adapters/mercurial_adapter'
19 19
20 class Repository::Mercurial < Repository 20 class Repository::Mercurial < Repository
21 # sort changesets by revision number
22 has_many :changesets, :order => "#{Changeset.table_name}.id DESC", :foreign_key => 'repository_id'
23
21 attr_protected :root_url 24 attr_protected :root_url
22 validates_presence_of :url 25 validates_presence_of :url
23 26
24 def scm_adapter 27 def scm_adapter
25 Redmine::Scm::Adapters::MercurialAdapter 28 Redmine::Scm::Adapters::MercurialAdapter
48 entry.lastrev.revision = change.revision 51 entry.lastrev.revision = change.revision
49 end 52 end
50 end 53 end
51 end 54 end
52 entries 55 entries
56 end
57
58 # Returns the latest changesets for +path+; sorted by revision number
59 def latest_changesets(path, rev, limit=10)
60 if path.blank?
61 changesets.find(:all, :include => :user, :limit => limit)
62 else
63 changes.find(:all, :include => {:changeset => :user},
64 :conditions => ["path = ?", path.with_leading_slash],
65 :order => "#{Changeset.table_name}.id DESC",
66 :limit => limit).collect(&:changeset)
67 end
53 end 68 end
54 69
55 def fetch_changesets 70 def fetch_changesets
56 scm_info = scm.info 71 scm_info = scm.info
57 if scm_info 72 if scm_info