]> source.dussan.org Git - redmine.git/commitdiff
Fixed: Subversion#latest_changesets ignores revision argument (#4360).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 8 Dec 2009 16:06:22 +0000 (16:06 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 8 Dec 2009 16:06:22 +0000 (16:06 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3134 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/repository/subversion.rb
test/unit/repository_subversion_test.rb

index 86ac5a92153d89214ef078f6b3c578d6fbfc4cf8..0f9b567460bed1973a87f5dadead7dc33d7870ca 100644 (file)
@@ -31,7 +31,7 @@ class Repository::Subversion < Repository
   end
 
   def latest_changesets(path, rev, limit=10)
-    revisions = scm.revisions(path, nil, nil, :limit => limit)
+    revisions = scm.revisions(path, rev, nil, :limit => limit)
     revisions ? changesets.find_all_by_revision(revisions.collect(&:identifier), :order => "committed_on DESC", :include => :user) : []
   end
   
index f0ad212cacffa0f8fded49e7af7e00d7ca010a8e..fb5580c422c08d12cd59eb78684297d283851c77 100644 (file)
@@ -49,17 +49,21 @@ class RepositorySubversionTest < ActiveSupport::TestCase
       assert_equal 10, @repository.changesets.count
     end
     
-    def test_latest_changesets_with_limit
+    def test_latest_changesets
       @repository.fetch_changesets
+      
+      # with limit
       changesets = @repository.latest_changesets('', nil, 2)
       assert_equal 2, changesets.size
       assert_equal @repository.latest_changesets('', nil).slice(0,2), changesets
-    end
-    
-    def test_latest_changesets_with_path
-      @repository.fetch_changesets
-      changesets = @repository.latest_changesets('subversion_test/folder/helloworld.rb', nil)
-      assert_equal %w(6 3 2), changesets.collect(&:revision)
+      
+      # with path
+      changesets = @repository.latest_changesets('subversion_test/folder', nil)
+      assert_equal ["10", "9", "7", "6", "5", "2"], changesets.collect(&:revision)
+      
+      # with path and revision
+      changesets = @repository.latest_changesets('subversion_test/folder', 8)
+      assert_equal ["7", "6", "5", "2"], changesets.collect(&:revision)
     end
   else
     puts "Subversion test repository NOT FOUND. Skipping unit tests !!!"