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}..."