From 4bbfe351e20e53e3c52cfd3053cfe60b043c857a Mon Sep 17 00:00:00 2001 From: Connor Mann Date: Mon, 14 Jun 2021 11:31:55 -0400 Subject: [PATCH] Fix keg re-linking logic for failed upgrades --- Library/Homebrew/install.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/install.rb b/Library/Homebrew/install.rb index 1b28fff4f8..d87bcc72d2 100644 --- a/Library/Homebrew/install.rb +++ b/Library/Homebrew/install.rb @@ -255,7 +255,7 @@ module Homebrew oh1 <<~EOS #{f.name} #{f.linked_version} is installed and outdated - Upgrading #{Formatted.identifier(f.name)} #{version_upgrade} + Upgrading #{Formatter.identifier(f.name)} #{version_upgrade} EOS outdated_kegs = outdated_formulae.map(&:linked_keg).select(&:directory?).map { |k| Keg.new(k.resolved_path) } linked_kegs = outdated_kegs.select(&:linked?) @@ -295,7 +295,11 @@ module Homebrew ofail e.message ensure # Re-link kegs if upgrade fails - linked_kegs.each(&:link) unless f.latest_version_installed? + begin + linked_kegs.each(&:link) unless f.latest_version_installed? + rescue + nil + end end end end