aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXu Cheng2015-09-30 13:49:47 +0800
committerXu Cheng2015-10-08 16:12:01 +0800
commit235c5b6bfa5a07168bba4fa513bc7c0c960bd149 (patch)
tree2b7f67184ff0fd02caabc639f6b1e99372dfa18f
parentee332c4550193893fb6cd660e01443e292c5ff0b (diff)
downloadbrew-235c5b6bfa5a07168bba4fa513bc7c0c960bd149.tar.bz2
ObserverPathnameExtension: only puts first 100 operations
Fixes https://github.com/Homebrew/homebrew/issues/44320#issuecomment-143951973 Closes Homebrew/homebrew#44440. Signed-off-by: Xu Cheng <xucheng@me.com>
-rw-r--r--Library/Homebrew/extend/pathname.rb28
1 files changed, 23 insertions, 5 deletions
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb
index ed831f2cb..95002d20f 100644
--- a/Library/Homebrew/extend/pathname.rb
+++ b/Library/Homebrew/extend/pathname.rb
@@ -473,6 +473,7 @@ module ObserverPathnameExtension
def reset_counts!
@n = @d = 0
+ @put_verbose_trimmed_warning = false
end
def total
@@ -482,33 +483,50 @@ module ObserverPathnameExtension
def counts
[n, d]
end
+
+ MAXIMUM_VERBOSE_OUTPUT = 100
+
+ def verbose?
+ return ARGV.verbose? unless ENV["TRAVIS"]
+ return false unless ARGV.verbose?
+
+ if total < MAXIMUM_VERBOSE_OUTPUT
+ true
+ else
+ unless @put_verbose_trimmed_warning
+ puts "Only the first #{MAXIMUM_VERBOSE_OUTPUT} operations were output."
+ @put_verbose_trimmed_warning = true
+ end
+ false
+ end
+ end
end
def unlink
super
- puts "rm #{self}" if ARGV.verbose?
+ puts "rm #{self}" if ObserverPathnameExtension.verbose?
ObserverPathnameExtension.n += 1
end
def rmdir
super
- puts "rmdir #{self}" if ARGV.verbose?
+ puts "rmdir #{self}" if ObserverPathnameExtension.verbose?
ObserverPathnameExtension.d += 1
end
def make_relative_symlink(src)
super
- puts "ln -s #{src.relative_path_from(dirname)} #{basename}" if ARGV.verbose?
+ puts "ln -s #{src.relative_path_from(dirname)} #{basename}" if ObserverPathnameExtension.verbose?
ObserverPathnameExtension.n += 1
end
def install_info
super
- puts "info #{self}" if ARGV.verbose?
+ puts "info #{self}" if ObserverPathnameExtension.verbose?
end
def uninstall_info
super
- puts "uninfo #{self}" if ARGV.verbose?
+ puts "uninfo #{self}" if ObserverPathnameExtension.verbose?
end
end