summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-10-15 18:41:27 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-10-15 18:41:27 +0000
commit9ce5713ee49166a826fcd4355aab825070ddfa07 (patch)
tree8838172ece614054fa2f966fe0caba717b261df0 /app/models
parentb9cc65db61016f88cb63ce639df078f541a3e5a1 (diff)
downloadredmine-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.rb8
-rw-r--r--app/models/repository/subversion.rb5
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