summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-06-12 17:43:23 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-06-12 17:43:23 +0000
commit667693b32cfaf5ff3c87b705cb494029117c80f4 (patch)
tree733a5e12812b2899bb4faa5912431b0607bce56f
parent965ef33192990c53d846e7bc77502dcf66ecd793 (diff)
downloadredmine-667693b32cfaf5ff3c87b705cb494029117c80f4.tar.gz
redmine-667693b32cfaf5ff3c87b705cb494029117c80f4.zip
Fixed that Subversion#load_entries_changesets raises an error if entries is nil.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9823 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/repository/subversion.rb2
-rw-r--r--test/unit/repository_subversion_test.rb5
2 files changed, 7 insertions, 0 deletions
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