diff options
Diffstat (limited to 'Library/Homebrew/cmd')
| -rw-r--r-- | Library/Homebrew/cmd/link.rb | 18 |
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 |
