aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/unlinkapps.rb15
1 files changed, 11 insertions, 4 deletions
diff --git a/Library/Homebrew/cmd/unlinkapps.rb b/Library/Homebrew/cmd/unlinkapps.rb
index 86a816050..68ee9d94e 100644
--- a/Library/Homebrew/cmd/unlinkapps.rb
+++ b/Library/Homebrew/cmd/unlinkapps.rb
@@ -4,13 +4,14 @@ module Homebrew
def unlinkapps
target_dir = linkapps_target(:local => ARGV.include?("--local"))
- unlinkapps_from_dir(target_dir)
+ unlinkapps_from_dir(target_dir, :dry_run => ARGV.dry_run?)
end
private
- def unlinkapps_from_dir(target_dir)
+ def unlinkapps_from_dir(target_dir, opts = {})
return unless target_dir.directory?
+ dry_run = opts.fetch(:dry_run, false)
apps = Pathname.glob("#{target_dir}/*.app").select do |app|
unlinkapps_unlink?(app)
@@ -20,10 +21,16 @@ module Homebrew
apps.each do |app|
app.extend(ObserverPathnameExtension)
- puts "Unlinking: #{app}"
- app.unlink
+ if dry_run
+ puts "Would unlink: #{app}"
+ else
+ puts "Unlinking: #{app}"
+ app.unlink
+ end
end
+ return if dry_run
+
if ObserverPathnameExtension.total.zero?
puts "No apps unlinked from #{target_dir}" if ARGV.verbose?
else