Don't cleanup the wrong things
This still isn't perfect, but it will handle hyphens in formula-names better now. A proper solution is not easy or maybe even possible unless we ban hyphens in versions AND formula names, or use a different character as a separate in downloaded cache files which we then ban from formula-name and version strings. Refs Homebrew/homebrew#2923.
This commit is contained in:
parent
fc2cc57ce8
commit
981605d199
@ -51,10 +51,11 @@ module Homebrew extend self
|
|||||||
def clean_cache
|
def clean_cache
|
||||||
HOMEBREW_CACHE.children.each do |pn|
|
HOMEBREW_CACHE.children.each do |pn|
|
||||||
next unless pn.file?
|
next unless pn.file?
|
||||||
pn.stem =~ /^(.+)-(.+)$/ # greedy so works even if formula-name has hyphens in it
|
version = pn.version
|
||||||
if $1 and $2
|
name = pn.basename.to_s.match(/(.*)-(#{version})/).captures.first rescue nil
|
||||||
f = Formula.factory($1) rescue nil
|
if name and version
|
||||||
if not f or (f.version != $2 or ARGV.switch? "s" and not f.installed?)
|
f = Formula.factory(name) rescue nil
|
||||||
|
if not f or (f.version != version or ARGV.switch? "s" and not f.installed?)
|
||||||
puts "Removing #{pn}..."
|
puts "Removing #{pn}..."
|
||||||
rm pn unless ARGV.switch? 'n'
|
rm pn unless ARGV.switch? 'n'
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user