Fix repository browsing at given revision for various scm and add tests for this.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@1329 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2008-04-06 10:35:55 +00:00
parent c37abb6415
commit 154f60edd3
12 changed files with 197 additions and 17 deletions
+2 -2
View File
@@ -51,8 +51,8 @@ class RepositoriesController < ApplicationController
def show
# check if new revisions have been committed in the repository
@repository.fetch_changesets if Setting.autofetch_changesets?
# get entries for the browse frame
@entries = @repository.entries('')
# root entries
@entries = @repository.entries('', @rev)
# latest changesets
@changesets = @repository.changesets.find(:all, :limit => 10, :order => "committed_on DESC")
show_error_not_found unless @entries || @changesets.any?
+2 -1
View File
@@ -35,7 +35,8 @@ class Repository::Cvs < Repository
end
def entries(path=nil, identifier=nil)
entries=scm.entries(path, identifier)
rev = identifier.nil? ? nil : changesets.find_by_revision(identifier)
entries = scm.entries(path, rev.nil? ? nil : rev.committed_on)
if entries
entries.each() do |entry|
unless entry.lastrev.nil? || entry.lastrev.identifier
+2 -1
View File
@@ -29,7 +29,8 @@ class Repository::Darcs < Repository
end
def entries(path=nil, identifier=nil)
entries=scm.entries(path, identifier)
patch = identifier.nil? ? nil : changesets.find_by_revision(identifier)
entries = scm.entries(path, patch.nil? ? nil : patch.scmid)
if entries
entries.each do |entry|
# Search the DB for the entry's last change