update: untap/retap formulae before/after pull.

This should fix problems like Homebrew/homebrew#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 Homebrew/homebrew#20678).

Closes Homebrew/homebrew#19799.
This commit is contained in:
Mike McQuaid 2013-09-24 19:39:04 +01:00
parent c464c7549f
commit 5e13933557

View File

@ -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|