aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/link.rb18
1 files changed, 13 insertions, 5 deletions
diff --git a/Library/Homebrew/cmd/link.rb b/Library/Homebrew/cmd/link.rb
index 8e942cd91..66d8e9583 100644
--- a/Library/Homebrew/cmd/link.rb
+++ b/Library/Homebrew/cmd/link.rb
@@ -1,3 +1,5 @@
+require 'ostruct'
+
module Homebrew extend self
def link
@@ -7,10 +9,10 @@ module Homebrew extend self
raise "Cowardly refusing to `sudo brew link'\n#{SUDO_BAD_ERRMSG}"
end
- if ARGV.force? then mode = :force
- elsif ARGV.dry_run? then mode = :dryrun
- else mode = nil
- end
+ mode = OpenStruct.new
+
+ mode.overwrite = true if ARGV.include? '--overwrite'
+ mode.dry_run = true if ARGV.dry_run?
ARGV.kegs.each do |keg|
if keg.linked?
@@ -18,12 +20,18 @@ module Homebrew extend self
next
end
- if mode == :dryrun
+ if mode.dry_run and mode.overwrite
print "Would remove:\n" do
keg.link(mode)
end
next
+ elsif mode.dry_run
+ print "Would link:\n" do
+ keg.link(mode)
+ end
+
+ next
end
print "Linking #{keg}... " do