aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/outdated.rb
diff options
context:
space:
mode:
authorAlyssa Ross2016-09-15 16:01:18 +0100
committerAlyssa Ross2016-09-18 19:58:09 +0100
commit2a683f2569614850f79534a8547fd96cc52c7850 (patch)
treecd89a2f42b59d337cda690ed2550c28772b36344 /Library/Homebrew/cmd/outdated.rb
parent3d559fa79641735193636cbf6240c082e6ca171c (diff)
downloadbrew-2a683f2569614850f79534a8547fd96cc52c7850.tar.bz2
upgrade, outdated: follow alias changes
Diffstat (limited to 'Library/Homebrew/cmd/outdated.rb')
-rw-r--r--Library/Homebrew/cmd/outdated.rb21
1 files changed, 16 insertions, 5 deletions
diff --git a/Library/Homebrew/cmd/outdated.rb b/Library/Homebrew/cmd/outdated.rb
index 7afa41df4..f9739cd7a 100644
--- a/Library/Homebrew/cmd/outdated.rb
+++ b/Library/Homebrew/cmd/outdated.rb
@@ -43,15 +43,26 @@ module Homebrew
outdated_formulae.each do |f|
if verbose
- outdated_versions = f.outdated_versions(fetch_head: fetch_head)
- current_version = if f.head? && outdated_versions.any? { |v| v.to_s == f.pkg_version.to_s }
+ outdated_kegs = f.outdated_kegs(fetch_head: fetch_head)
+
+ current_version = if f.alias_changed?
+ latest = f.latest_formula
+ "#{latest.name} (#{latest.pkg_version})"
+ elsif f.head? && outdated_kegs.any? { |k| k.version.to_s == f.pkg_version.to_s }
+ # There is a newer HEAD but the version number has not changed.
"latest HEAD"
else
f.pkg_version.to_s
end
- puts "#{f.full_name} (#{outdated_versions.join(", ")}) < #{current_version}"
+
+ outdated_versions = outdated_kegs.
+ group_by(&:name).
+ sort_by(&:first).
+ map { |name, kegs| "#{name} (#{kegs.map(&:version) * ", "})" } * ", "
+
+ puts "#{outdated_versions} < #{current_version}"
else
- puts f.full_name
+ puts f.full_installed_specified_name
end
end
end
@@ -62,7 +73,7 @@ module Homebrew
outdated_formulae = formulae.select { |f| f.outdated?(fetch_head: fetch_head) }
outdated = outdated_formulae.each do |f|
- outdated_versions = f.outdated_versions(fetch_head: fetch_head)
+ outdated_versions = f.outdated_kegs(fetch_head: fetch_head).map(&:version)
current_version = if f.head? && outdated_versions.any? { |v| v.to_s == f.pkg_version.to_s }
"HEAD"
else