diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/update.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb index 99f84806e..c8e1dec54 100644 --- a/Library/Homebrew/cmd/update.rb +++ b/Library/Homebrew/cmd/update.rb @@ -164,8 +164,20 @@ class Updater next unless paths.any? { |p| File.dirname(p) == formula_directory } case status - when "A", "M", "D" + when "A", "D" map[status.to_sym] << repository.join(src) + when "M" + file = repository.join(src) + begin + require "formula_versions" + formula = Formulary.factory(file) + new_version = formula.pkg_version + old_version = FormulaVersions.new(formula).formula_at_revision(@initial_revision, &:pkg_version) + next if new_version == old_version + rescue LoadError, FormulaUnavailableError => e + onoe e if ARGV.homebrew_developer? + end + map[:M] << file when /^R\d{0,3}/ map[:D] << repository.join(src) if File.dirname(src) == formula_directory map[:A] << repository.join(dst) if File.dirname(dst) == formula_directory |
