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