Modify brew update to show if any formulae were removed.

This commit is contained in:
Trevor Stevens 2010-02-18 19:24:03 -05:00 committed by Adam Vandenberg
parent 6fd0a120f1
commit b9bb078642
2 changed files with 26 additions and 3 deletions

View File

@ -9,11 +9,12 @@ class RefreshBrew
formula_regexp = 'Library/Formula/(.+?)\.rb'
ADDED_FORMULA = %r{^\s+create mode \d+ #{formula_regexp}$}
UPDATED_FORMULA = %r{^\s+#{formula_regexp}\s}
DELETED_FORMULA = %r{^\s+delete mode \d+ #{formula_regexp}$}
attr_reader :added_formulae, :updated_formulae
attr_reader :added_formulae, :updated_formulae, :deleted_formulae
def initialize
@added_formulae, @updated_formulae = [], []
@added_formulae, @updated_formulae, @deleted_formulae = [], [], []
end
# Performs an update of the homebrew source. Returns +true+ if a newer
@ -33,12 +34,15 @@ class RefreshBrew
case line
when ADDED_FORMULA
@added_formulae << $1
when DELETED_FORMULA
@deleted_formulae << $1
when UPDATED_FORMULA
@updated_formulae << $1 unless @added_formulae.include?($1)
@updated_formulae << $1 unless @added_formulae.include?($1) or @deleted_formulae.include?($1)
end
end
@added_formulae.sort!
@updated_formulae.sort!
@deleted_formulae.sort!
output.strip != GIT_UP_TO_DATE
end
@ -47,6 +51,14 @@ class RefreshBrew
!@updated_formulae.empty?
end
def pending_new_formulae?
!@added_formulae.empty?
end
def deleted_formulae?
!@deleted_formulae.empty?
end
def current_revision
in_prefix { execute(REVISION_COMMAND).strip }
rescue

View File

@ -171,6 +171,17 @@ begin
puts "Already up-to-date."
else
puts "Updated Homebrew from #{old_revision[0,8]} to #{updater.current_revision[0,8]}."
## New Formulae
if updater.pending_new_formulae?
ohai "The following formulae are new:"
puts_columns updater.added_formulae
end
## Deleted Formulae
if updater.deleted_formulae?
ohai "The following formulae were removed:"
puts_columns updater.deleted_formulae
end
## Updated Formulae
if updater.pending_formulae_changes?
ohai "The following formulae were updated:"
puts_columns updater.updated_formulae