aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula.rb
diff options
context:
space:
mode:
authorXu Cheng2017-01-30 17:16:23 +0800
committerXu Cheng2017-01-30 17:16:56 +0800
commitf3df412e77db03ba1eae39dfeff5488749056a3c (patch)
tree877ac7a45c8aaebedca20852c69054db8c91d8f8 /Library/Homebrew/formula.rb
parentd3d9ae334432efafb0b2d8de2952060453d2dac9 (diff)
downloadbrew-f3df412e77db03ba1eae39dfeff5488749056a3c.tar.bz2
cleanup: consider version_scheme
`brew cleanup` should cleanup formulae which have the older version scheme.
Diffstat (limited to 'Library/Homebrew/formula.rb')
-rw-r--r--Library/Homebrew/formula.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 6df1eb4de..a4ef11276 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -1843,7 +1843,16 @@ class Formula
eligible_kegs = if head? && (head_prefix = latest_head_prefix)
installed_kegs - [Keg.new(head_prefix)]
else
- installed_kegs.select { |k| pkg_version > k.version }
+ installed_kegs.select do |keg|
+ tab = Tab.for_keg(keg)
+ if version_scheme > tab.version_scheme
+ true
+ elsif version_scheme == tab.version_scheme
+ pkg_version > keg.version
+ else
+ false
+ end
+ end
end
unless eligible_kegs.empty?