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:
@@ -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?
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user