From ea6bfb66a103e5ff569eba4b53f388dda8bdf039 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Wed, 1 Aug 2012 16:19:25 -0400 Subject: [PATCH] Error handling for individual taps Possibly would help diagnose: Homebrew/homebrew#13853. --- Library/Homebrew/cmd/update.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb index 428014291c..9e091d52fb 100644 --- a/Library/Homebrew/cmd/update.rb +++ b/Library/Homebrew/cmd/update.rb @@ -20,10 +20,15 @@ module Homebrew extend self new_files = [] Dir["Library/Taps/*"].each do |tapd| cd tapd do - updater = Updater.new - updater.pull! - report.merge!(updater.report) do |key, oldval, newval| - oldval.concat(newval) + begin + updater = Updater.new + updater.pull! + report.merge!(updater.report) do |key, oldval, newval| + oldval.concat(newval) + end + rescue + tapd =~ %r{^Library/Taps/(\w+)-(\w+)} + onoe "Failed to update tap: #$1/#$2" end end end