diff options
| author | Misty De Meo | 2012-04-08 23:27:34 -0500 |
|---|---|---|
| committer | Misty De Meo | 2012-04-09 10:09:19 -0500 |
| commit | 90400eceb1d989de4a55c22e721aefae3fee21bf (patch) | |
| tree | 27afde2f9d3eefdceb443faeabf91745e8997dc1 /Library/Homebrew | |
| parent | c9fd1b9bf013f631656518d5b1f44cb12fa61543 (diff) | |
| download | brew-90400eceb1d989de4a55c22e721aefae3fee21bf.tar.bz2 | |
make_relative_symlink: give more specific advice
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/extend/pathname.rb | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 797c89b7e..454afb074 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -293,11 +293,23 @@ class Pathname # NOTE only system ln -s will create RELATIVE symlinks quiet_system 'ln', '-s', src.relative_path_from(self.dirname), self.basename if not $?.success? - raise <<-EOS.undent - Could not symlink file: #{src.expand_path} - Check #{self} does not already exist. - Check #{dirname} is writable. - EOS + if self.exist? + raise <<-EOS.undent + Could not symlink file: #{src.expand_path} + Target #{self} already exists. You may need to delete it. + EOS + elsif !dirname.writable? + raise <<-EOS.undent + Could not symlink file: #{src.expand_path} + #{dirname} is not writable. You should change its permissions. + EOS + else + raise <<-EOS.undent + Could not symlink file: #{src.expand_path} + #{self} may already exist. + #{dirname} may not be writable. + EOS + end end end end |
