diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index f39ebbd2a8..f7087ad8be 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -77,7 +77,7 @@ module Homebrew msg = "#{f.full_name}-#{f.installed_version} already installed" msg << ", it's just not linked" unless f.linked_keg.symlink? || f.keg_only? opoo msg - elsif f.oldname && (dir = HOMEBREW_CELLAR/f.oldname).exist? && !dir.subdirs.empty? \ + elsif f.oldname && (dir = HOMEBREW_CELLAR/f.oldname).directory? && !dir.subdirs.empty? \ && f.tap == Tab.for_keg(dir.subdirs.first).tap && !ARGV.force? # Check if the formula we try to install is the same as installed # but not migrated one. If --force passed then install anyway. diff --git a/Library/Homebrew/cmd/outdated.rb b/Library/Homebrew/cmd/outdated.rb index d432c4e839..7a199fcae2 100644 --- a/Library/Homebrew/cmd/outdated.rb +++ b/Library/Homebrew/cmd/outdated.rb @@ -18,10 +18,9 @@ module Homebrew all_versions = [] older_or_same_tap_versions = [] - if f.oldname && !f.rack.exist? && (dir = HOMEBREW_CELLAR/f.oldname).exist? - if f.tap == Tab.for_keg(dir.subdirs.first).tap - raise Migrator::MigrationNeededError.new(f) - end + if f.oldname && !f.rack.exist? && (dir = HOMEBREW_CELLAR/f.oldname).directory? && + !dir.subdirs.empty? && f.tap == Tab.for_keg(dir.subdirs.first).tap + raise Migrator::MigrationNeededError.new(f) end f.rack.subdirs.each do |keg_dir|