diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-15 18:41:27 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-15 18:41:27 +0000 |
commit | 9ce5713ee49166a826fcd4355aab825070ddfa07 (patch) | |
tree | 8838172ece614054fa2f966fe0caba717b261df0 /app/models | |
parent | b9cc65db61016f88cb63ce639df078f541a3e5a1 (diff) | |
download | redmine-9ce5713ee49166a826fcd4355aab825070ddfa07.tar.gz redmine-9ce5713ee49166a826fcd4355aab825070ddfa07.zip |
Fixed: log is not displayed when browsing a copy in a svn repository.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@843 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/repository.rb | 8 | ||||
-rw-r--r-- | app/models/repository/subversion.rb | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index f77b51db2..35dd6803f 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -42,6 +42,14 @@ class Repository < ActiveRecord::Base scm.diff(path, rev, rev_to, type) end + # Default behaviour: we search in cached changesets + def changesets_for_path(path) + path = "/#{path}" unless path.starts_with?('/') + Change.find(:all, :include => :changeset, + :conditions => ["repository_id = ? AND path = ?", id, path], + :order => "committed_on DESC, #{Changeset.table_name}.revision DESC").collect(&:changeset) + end + def latest_changeset @latest_changeset ||= changesets.find(:first) end diff --git a/app/models/repository/subversion.rb b/app/models/repository/subversion.rb index 2f0990b2e..a0485608d 100644 --- a/app/models/repository/subversion.rb +++ b/app/models/repository/subversion.rb @@ -30,6 +30,11 @@ class Repository::Subversion < Repository 'Subversion' end + def changesets_for_path(path) + revisions = scm.revisions(path) + revisions ? changesets.find_all_by_revision(revisions.collect(&:identifier), :order => "committed_on DESC") : [] + end + def fetch_changesets scm_info = scm.info if scm_info |