From e82636d17e44b615cc16d497ea378b2d1417df84 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 24 Sep 2013 19:39:04 +0100 Subject: update: untap/retap formulae before/after pull. This should fix problems like #19799 where we pull formulae from taps into core. I want to get something similar merged ASAP so we can pull GCC into core (see #20678). Closes #19799. --- Library/Homebrew/cmd/update.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'Library') diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb index 09e68f688..b1cb5d967 100644 --- a/Library/Homebrew/cmd/update.rb +++ b/Library/Homebrew/cmd/update.rb @@ -17,9 +17,21 @@ module Homebrew extend self cd HOMEBREW_REPOSITORY git_init_if_necessary + tapped_formulae = Dir['Library/Formula/*'].map do |formula| + path = Pathname.new formula + next unless path.symlink? + Pathname.new(path.realpath.to_s.gsub(/.*Taps\//, '')) + end + tapped_formulae.compact! + unlink_tap_formula(tapped_formulae) + report = Report.new master_updater = Updater.new - master_updater.pull! + begin + master_updater.pull! + ensure + link_tap_formula(tapped_formulae) + end report.merge!(master_updater.report) Dir["Library/Taps/*"].each do |tapd| -- cgit v1.2.3