diff --git a/CHANGELOG b/CHANGELOG index f5416434ab1dab8c20dfdb7ed86dc97b119cb9a2..a00b98cfe071b82184f90ce64a087606fc3c5024 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -33,6 +33,7 @@ v 8.11.0 (unreleased) - Retrieve rendered HTML from cache in one request - Fix renaming repository when name contains invalid chararacters under project settings - Fix devise deprecation warnings. + - Update version_sorter and use new interface for faster tag sorting - Optimize checking if a user has read access to a list of issues !5370 - Nokogiri's various parsing methods are now instrumented - Add simple identifier to public SSH keys (muteor) diff --git a/Gemfile b/Gemfile index 8f94ee72a322bad78fd45e89248ef7c1ba5bdc22..104929665e8f9aecefd91fbaba2970bd6bf18692 100644 --- a/Gemfile +++ b/Gemfile @@ -154,7 +154,7 @@ gem 'settingslogic', '~> 2.0.9' # Misc -gem 'version_sorter', '~> 2.0.0' +gem 'version_sorter', '~> 2.1.0' # Cache gem 'redis-rails', '~> 4.0.0' diff --git a/Gemfile.lock b/Gemfile.lock index 870f9397b9e1e3e44a4b42b874587fcc57eece6d..87f08d6f372d07c5a82304c4c370398a00e04a04 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -778,7 +778,7 @@ GEM uniform_notifier (1.10.0) uuid (2.3.8) macaddr (~> 1.0) - version_sorter (2.0.0) + version_sorter (2.1.0) virtus (1.0.5) axiom-types (~> 0.1) coercible (~> 1.0) @@ -989,7 +989,7 @@ DEPENDENCIES unf (~> 0.1.4) unicorn (~> 4.9.0) unicorn-worker-killer (~> 0.4.2) - version_sorter (~> 2.0.0) + version_sorter (~> 2.1.0) virtus (~> 1.0.1) vmstat (~> 2.1.1) web-console (~> 2.0) diff --git a/app/models/repository.rb b/app/models/repository.rb index 701f867f67cf7c12f505d1a4d3b4e46a1b73e182..e56bac509a4ed1e774778c68b998565b8b1218b9 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -636,9 +636,7 @@ def branches_sorted_by(value) def tags_sorted_by(value) case value when 'name' - # Would be better to use `sort_by` but `version_sorter` only exposes - # `sort` and `rsort` - VersionSorter.rsort(tag_names).map { |tag_name| find_tag(tag_name) } + VersionSorter.rsort(tags) { |tag| tag.name } when 'updated_desc' tags_sorted_by_committed_date.reverse when 'updated_asc'