diff --git a/app/models/repository/mercurial.rb b/app/models/repository/mercurial.rb index 9ce3b63..4bc792b 100644 --- a/app/models/repository/mercurial.rb +++ b/app/models/repository/mercurial.rb @@ -58,7 +58,7 @@ class Repository::Mercurial < Repository # Returns the latest changesets for +path+; sorted by revision number def latest_changesets(path, rev, limit=10) if path.blank? - changesets.find(:all, :include => :user, :limit => limit) + changesets.find(:all, :include => :user, :limit => limit, :order => "id DESC") else changes.find(:all, :include => {:changeset => :user}, :conditions => ["path = ?", path.with_leading_slash], diff --git a/test/unit/repository_mercurial_test.rb b/test/unit/repository_mercurial_test.rb index 0938c82..f1ce319 100644 --- a/test/unit/repository_mercurial_test.rb +++ b/test/unit/repository_mercurial_test.rb @@ -87,7 +87,8 @@ class RepositoryMercurialTest < ActiveSupport::TestCase # with_limit changesets = @repository.latest_changesets('', nil, 2) - assert_equal @repository.latest_changesets('', nil)[0, 2], changesets + # assert_equal @repository.latest_changesets('', nil)[0, 2], changesets + assert_equal %w|16 15|, changesets.collect(&:revision) # with_filepath changesets = @repository.latest_changesets('/sql_escape/percent%dir/percent%file1.txt', nil)