aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorMisty De Meo2012-10-20 20:54:11 -0500
committerMisty De Meo2012-10-20 21:00:46 -0500
commitf52ebe5fc74cdcfa343a407978a8a38aefb9d2ca (patch)
treee8a12296ae48ff0c946f1832e93b0bafe9fb2bd3 /Library/Homebrew/cmd
parent606769bebcc976436530b5651cceeaf45a29a34e (diff)
downloadhomebrew-f52ebe5fc74cdcfa343a407978a8a38aefb9d2ca.tar.bz2
brew ln --force is now brew ln --overwrite
* Renames --force to --overwrite, freeing up brew ln --force for #13349 * Changes --dry-run to preview linking by default, rather than overwriting. An overwrite dry-run can be simulated via both --dry-run --overwrite * Adds some basic Keg tests
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