outdated: further fix tap version handling.

Closes Homebrew/homebrew#37317.

Closes Homebrew/homebrew#37480.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This commit is contained in:
Mike McQuaid 2015-03-07 13:25:21 +00:00
parent 89325bbb19
commit d57d63ad62

View File

@ -18,21 +18,21 @@ module Homebrew
def outdated_brews(formulae)
formulae.map do |f|
all_versions = []
same_tap_versions = []
older_or_same_tap_versions = []
f.rack.subdirs.each do |dir|
keg = Keg.new dir
version = keg.version
all_versions << version
same_or_head_version = f.version == version || version.head?
older_version = f.version <= version
tap = Tab.for_keg(keg).tapped_from
same_or_path_url_tap = f.tap == tap || tap == HOMEBREW_PATH_URL_TAP
if same_or_path_url_tap || same_or_head_version
same_tap_versions << version
if same_or_path_url_tap || older_version
older_or_same_tap_versions << version
end
end
if same_tap_versions.all? { |version| f.pkg_version > version }
if older_or_same_tap_versions.all? { |version| f.pkg_version > version }
yield f, all_versions if block_given?
f
end