aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorXu Cheng2015-05-30 17:29:33 +0800
committerXu Cheng2015-06-02 17:24:05 +0800
commit023230cb6a5a88b24dce76ddc97021e371d61fd2 (patch)
tree4fa2010fa026572eb7a78a42a24049f8ae8c5c01 /Library
parentde43ac75032e7a1170b0def6500dffb48dba9bf7 (diff)
downloadbrew-023230cb6a5a88b24dce76ddc97021e371d61fd2.tar.bz2
update: only display version changed formulae
Closes Homebrew/homebrew#40090. Signed-off-by: Xu Cheng <xucheng@me.com>
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/update.rb14
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