* Fixes file log for non-Git repositories (Repository#latest_changesets ignores path argument)
* No longer used Repository#changesets_for_path method removed

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2844 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2009-08-17 16:32:24 +00:00
parent a4d7a03b14
commit e10577e9ed
10 changed files with 105 additions and 29 deletions
+13 -11
View File
@@ -87,15 +87,6 @@ class Repository < ActiveRecord::Base
scm.diff(path, rev, rev_to)
end
# Default behaviour: we search in cached changesets
def changesets_for_path(path, options={})
path = "/#{path}" unless path.starts_with?('/')
Change.find(:all, :include => {:changeset => :user},
:conditions => ["repository_id = ? AND path = ?", id, path],
:order => "committed_on DESC, #{Changeset.table_name}.id DESC",
:limit => options[:limit]).collect(&:changeset)
end
# Returns a path relative to the url of the repository
def relative_path(path)
path
@@ -105,8 +96,19 @@ class Repository < ActiveRecord::Base
@latest_changeset ||= changesets.find(:first)
end
def latest_changesets(path,rev,limit=10)
@latest_changesets ||= changesets.find(:all, :limit => limit, :order => "committed_on DESC")
# Returns the latest changesets for +path+
# Default behaviour is to search in cached changesets
def latest_changesets(path, rev, limit=10)
if path.blank?
changesets.find(:all, :include => :user,
:order => "#{Changeset.table_name}.committed_on DESC, #{Changeset.table_name}.id DESC",
:limit => limit)
else
changes.find(:all, :include => {:changeset => :user},
:conditions => ["path = ?", path.with_leading_slash],
:order => "#{Changeset.table_name}.committed_on DESC, #{Changeset.table_name}.id DESC",
:limit => limit).collect(&:changeset)
end
end
def scan_changesets_for_issue_ids