From 211404c83b360e2853ce2648297a5bf8c42a0484 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Sat, 29 Aug 2009 21:07:26 +0100 Subject: [PATCH] brew unlink command Closes #8 --- Library/Homebrew/keg.rb | 13 +++++++++++++ bin/brew | 3 +++ 2 files changed, 16 insertions(+) diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index 8ba55f5ee181..ad744e840d7d 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -28,6 +28,19 @@ def uninstall parent.rmdir_if_possible end + def unlink + n=0 + Pathname.new(self).find do |src| + next if src == self + dst=HOMEBREW_PREFIX+src.relative_path_from(self) + next unless dst.symlink? + dst.unlink + n+=1 + Find.prune if src.directory? + end + n + end + def link $n=0 $d=0 diff --git a/bin/brew b/bin/brew index 7e1bd720b650..f16d19eb4d7c 100755 --- a/bin/brew +++ b/bin/brew @@ -114,6 +114,9 @@ begin when 'unlink' ARGV.kegs.each {|keg| puts "#{keg.unlink} links removed for #{keg}"} + when 'unlink' + ARGV.kegs.each {|keg| puts "#{keg.unlink} links removed for #{keg}"} + when 'rm', 'uninstall', 'remove' ARGV.kegs.each do |keg| puts "Uninstalling #{keg}..."