Merge pull request #11438 from cnnrmnn/no-uninstall-stable
Don't uninstall `stable` keg with `--HEAD`
This commit is contained in:
commit
eeef3f4fe7
@ -2181,8 +2181,10 @@ class Formula
|
||||
def eligible_kegs_for_cleanup(quiet: false)
|
||||
eligible_for_cleanup = []
|
||||
if latest_version_installed?
|
||||
eligible_kegs = if head? && (head_prefix = latest_head_prefix)
|
||||
installed_kegs - [Keg.new(head_prefix)]
|
||||
eligible_kegs = if head?
|
||||
head, stable = installed_kegs.partition { |k| k.version.head? }
|
||||
# Remove newest head and stable kegs
|
||||
head.sort_by(&:version).slice(0...-1) + stable.sort_by(&:version).slice(0...-1)
|
||||
else
|
||||
installed_kegs.select do |keg|
|
||||
tab = Tab.for_keg(keg)
|
||||
|
||||
@ -928,20 +928,17 @@ describe Formula do
|
||||
head("foo")
|
||||
end
|
||||
|
||||
stable_prefix = f.latest_installed_prefix
|
||||
stable_prefix.mkpath
|
||||
|
||||
[["000000_1", 1], ["111111", 2], ["111111_1", 2]].each do |pkg_version_suffix, stamp|
|
||||
prefix = f.prefix("HEAD-#{pkg_version_suffix}")
|
||||
["0.0.1", "0.0.2", "0.1", "HEAD-000000", "HEAD-111111", "HEAD-111111_1"].each do |version|
|
||||
prefix = f.prefix(version)
|
||||
prefix.mkpath
|
||||
tab = Tab.empty
|
||||
tab.tabfile = prefix/Tab::FILENAME
|
||||
tab.source_modified_time = stamp
|
||||
tab.source_modified_time = 1
|
||||
tab.write
|
||||
end
|
||||
|
||||
eligible_kegs = f.installed_kegs - [Keg.new(f.prefix("HEAD-111111_1"))]
|
||||
expect(f.eligible_kegs_for_cleanup).to eq(eligible_kegs)
|
||||
eligible_kegs = f.installed_kegs - [Keg.new(f.prefix("HEAD-111111_1")), Keg.new(f.prefix("0.1"))]
|
||||
expect(f.eligible_kegs_for_cleanup.sort_by(&:version)).to eq(eligible_kegs.sort_by(&:version))
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user