diff --git a/app/models/repository/subversion.rb b/app/models/repository/subversion.rb index 7c12f3f3e..c50e99ec8 100644 --- a/app/models/repository/subversion.rb +++ b/app/models/repository/subversion.rb @@ -89,6 +89,8 @@ class Repository::Subversion < Repository protected def load_entries_changesets(entries) + return unless entries + entries_with_identifier = entries.select {|entry| entry.lastrev && entry.lastrev.identifier.present?} identifiers = entries_with_identifier.map {|entry| entry.lastrev.identifier}.compact.uniq diff --git a/test/unit/repository_subversion_test.rb b/test/unit/repository_subversion_test.rb index 699ef886a..e2550453a 100644 --- a/test/unit/repository_subversion_test.rb +++ b/test/unit/repository_subversion_test.rb @@ -61,6 +61,11 @@ class RepositorySubversionTest < ActiveSupport::TestCase assert_kind_of Redmine::Scm::Adapters::Entries, entries end + def test_entries_for_invalid_path_should_return_nil + entries = @repository.entries('invalid_path') + assert_nil entries + end + def test_latest_changesets assert_equal 0, @repository.changesets.count @repository.fetch_changesets