From fc565bee2603a2aaf3eaa79cdbc0e0ef85276ca6 Mon Sep 17 00:00:00 2001 From: Desmond Brand Date: Sat, 27 Apr 2013 15:21:17 -0700 Subject: Overwrite broken symlinks with --overwrite Closes #19480. Signed-off-by: Misty De Meo --- Library/Homebrew/extend/pathname.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'Library/Homebrew/extend') diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index ef7dcea99..25bb1e537 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -264,7 +264,20 @@ class Pathname raise <<-EOS.undent Could not symlink file: #{src.expand_path} Target #{self} already exists. You may need to delete it. - To force the link and delete this file, do: + To force the link and overwrite all other conflicting files, do: + brew link --overwrite formula_name + + To list all files that would be deleted: + brew link --overwrite --dry-run formula_name + EOS + # #exist? will return false for symlinks whose target doesn't exist + elsif self.symlink? + raise <<-EOS.undent + Could not symlink file: #{src.expand_path} + Target #{self} already exists as a symlink to #{readlink}. + If this file is from another formula, you may need to + `brew unlink` it. Otherwise, you may want to delete it. + To force the link and overwrite all other conflicting files, do: brew link --overwrite formula_name To list all files that would be deleted: -- cgit v1.2.3